デモ:日本語化したバリデータ

jQuery toolsによる「日本語化したバリデータ」の動作デモです。

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

サンプル登録フォーム
e-メール *
URL *
名前 *
年齢
承諾しますか?
|

サンプルコード

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>名前 *</th>
	<td><input type="text" name="name" pattern="[a-zA-Z ]{5,}" maxlength="30" /></td>
	</tr>
	<tr>
	<th>年齢</th>
	<td><input type="number" name="age" size="4" min="5" max="50" /></td>
	</tr>
	<tr>
	<th>承諾しますか?</th>
	<td><input type="checkbox" required="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() {
	// エラーメッセージのローカライズF
	$.tools.validator.localize("ja", {
		":email"     : "e-mailアドレスを正しく入力してください",
		":number"    : "数値を正しく入力してください",
		"[max]"      : "最大値[$1]",
		"[min]"      : "最小値[$1]",
		"[required]" : "必須項目です",
		"[pattern]"  : "パターンが不正です"
	});

	$("#exampleForm").validator({
		lang: "ja"                 // エラーメッセージの言語(デフォルトはen)
	});
});