開発環境
- 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 コメント:
コメントを投稿