2014年2月17日月曜日

開発環境

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

その他参考書籍

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

コード

sample.dart

import 'dart:html';

void main() {
  date.onBlur.listen((FocusEvent evnet) => validateDate(date, date_help));
}

InputElement date = querySelector('#date0');
SpanElement date_help = querySelector('#date0_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 validateDate(InputElement input, SpanElement help) {
  if (validateNonEmpty(input, help)){
    RegExp pattern = new RegExp(r'^\d{2}/\d{2}/\d{4}$');
    return validateRegExp(pattern, input.value, help,
        '日付はDD/MM/YYYY形式で入力して下さい。');
  }
  return false;
}

0 コメント:

コメントを投稿