2014年2月20日木曜日

開発環境

Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の7章(フォームと検証)、自分で考えてみよう(p.337)をDartで考えてみる。

その他参考書籍

自分で考えてみよう(p.337)

コード

sample.dart

import 'dart:html';

void main() {
  address.onBlur.listen((FocusEvent evnet) =>
      validateEmail(address, address_help));
}

InputElement address = querySelector('#address0');
SpanElement address_help = querySelector('#address0_help');

bool validateNonEmpty(InputElement input, SpanElement help){
  if (input.value.length == 0) {
    if (help != null) {
      help.text = '値を入力して下さい。';
    }
    return false;
  }
  if (help != null) {
    help.text = '';
  }
  return true;
}

bool validateRegExp(RegExp pattern, String input_str, SpanElement help, String help_msg){
  if (!pattern.hasMatch(input_str)){
    if (help != null) {
      help.text = help_msg;
    }
    return false;
  }
  if (help != null) {
    help.text = '';
  }
  return true;
}

bool validateEmail(InputElement input, SpanElement help) {
  if (validateNonEmpty(input, help)){
    RegExp pattern = new RegExp(r'^[-\w\._\+]+@[-\w]+(\.\w{2,4})+$');
    return validateRegExp(pattern, input.value, help,
        '入力したメールアドレスを確認してください。');
  }
  return false;
}

0 コメント:

コメントを投稿