デモ:イベントフィールド単位でバリデート

jQuery toolsによる「イベントフィールド単位でバリデート」の動作デモです。

サンプルです。不正な値を入力して送信ボタンを押すと・・・

サンプル登録フォーム
e-メール *
URL *
PASSWORD *
|

サンプルコード

HTMLのサンプル

<form id="exampleForm">
<fieldset>
	<p>サンプルです。不正な値を入力して送信ボタンを押すと・・・ </p>
	<table>
	<caption>サンプル登録フォーム</caption>
	<tr>
	<th>e-メール *</th>
	<td><input type="email" name="email" required="required" /></td>
	</tr>
	<tr>
	<th>URL *</th>
	<td><input type="url" name="url" required="required" /></td>
	</tr>
	<tr>
	<th>PASSWORD *</th>
	<td><input type="passward" name=password pattern="[a-zA-Z ]{5,}" required /></td>
	</tr>
	</table>
	<button type="submit">送信</button> | <button type="reset">リセット</button>
</fieldset>
</form>

CSSのサンプル

#example{
	padding: 10px 20px;
}
#exampleForm caption{
	font-weight: bold;
}
#exampleForm table{
	margin-bottom: 10px;
	border-bottom: solid 1px #ccc;
	border-left: solid 1px #ccc;
}
#exampleForm th,
#exampleForm td{
	padding: 5px;
	border-top: solid 1px #ccc;
	border-right: solid 1px #ccc;
}
#exampleForm th{
	background: #eee;
}
#exampleForm td input[type=text],
#exampleForm td input[type=url],
#exampleForm td input[type=email]{
	width: 300px;
}
.error{
	display:none;
	position: absolute;
	background: #f63;
	padding: 2px 10px;
	color: #fff;
	border: solid 1px #ccc;
	border-radius:2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	-ms-border-radius: 2px;
	-webkit-box-shadow: #999 2px 2px 2px;
	-moz-box-shadow: #999 2px 2px 2px;
	box-shadow: #999 2px 2px 2px;
}
.invalid{
	background: #ffe;
}

Javascriptのサンプル

$(document).ready(function() {
	// バリデートをハンドリング
	$("[name=password]").oninvalid(function(event, errorMessage) {
		alert(errorMessage);
	});

	$("#exampleForm").validator();
});