開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリージャパン、2009年、ISBN978-4-87311-425-5) の8章(フォームと検証)、練習問第8-2.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
練習問第8-2.
コード
sample.dart
import 'dart:html'; void main(){ var name = querySelector('#name'), zip = querySelector('#zip'), address = querySelector('#address'), passwd = querySelector('#passwd'), textarea = querySelector('#textarea'), b0 = querySelector('#b0'); name.onBlur.listen((event){ var text = event.target.value; if (text == '' || text == null){ window.alert('名前を入力して下さい'); } }); zip.onBlur.listen((event){ var pattern = new RegExp(r'^\d{3}[-]?\d{4}$'); if (!pattern.hasMatch(event.target.value)){ window.alert('郵便番号の形式が違っています'); } }); address.onBlur.listen((event){ var pattern = new RegExp(r'[0-9]'); if (pattern.hasMatch(event.target.value)){ window.alert('住所に半角数字を含めないで下さい'); } }); passwd.onBlur.listen((event){ var pattern = new RegExp(r'^.{8,}$'); if (!pattern.hasMatch(event.target.value)){ window.alert('パスワードは8文字以上にして下さい'); } }); b0.onClick.listen((MouseEvent event){ var result = '', inputs = querySelector('#d0').querySelectorAll('input'); inputs.forEach((Element e){ if (e.getAttribute('type') != 'button'){ result += e.value + '\n'; } }); textarea.text = result; }); }
名前:
郵便番号:
住所:
パスワード:
郵便番号:
住所:
パスワード:
0 コメント:
コメントを投稿