開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の7章(フォームと検証)、自分で考えてみよう(p.331)をDartで考えてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
自分で考えてみよう(p.331)
コード
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{2}|\d{4})$'); return validateRegExp(pattern, input.value, help, '日付はMM/DD/YYYY(またはYY)形式で入力して下さい。'); } return false; }
0 コメント:
コメントを投稿