Formの入力チェックをしてくれるpluginです。
本体と日本語ファイルを読み込んでいます。1)
<script type="text/javascript" src="src/path/to/js/jquery.validate/jquery.validate.min.js"></script> <script type="text/javascript" src="src/path/to/js/jquery.validate/localization/messages_ja.js"></script>
以下の様なフォームを作成します。
<form id="form-id"> <label>名 前 </label><input type="text" name="name" placeholder="お名前"><br/> <label>メールアドレス </label><input type="text" name="email" placeholder="メールアドレス"><br/> </form>
<html>
<form id=“form-id”>
<label>名 前 </label><input type="text" name="name" placeholder="お名前"><br/> <label>メールアドレス </label><input type="text" name="email" placeholder="メールアドレス"><br/>
</form>
</html>
ルール例
$(function(){
$("#form-ID").validate({
rules : {
name : {
required: true,
minlength: 2
}
, email : {
required: true,
email: true
}
}
});
})
これもロードします
<script type="text/javascript" src="src/path/to/js/jquery.validate/myrules.js"></script>
エラーがあると以下の様な感じで表示されます。
<html>
<form id=“form-id”>
<label>名 前 </label>
<input type=“text” placeholder=“お名前” name=“name”>
<label class=“error” for=“email”>このフィールドは必須です。</label>
<br>
<label>メールアドレス </label>
<input type=“text” placeholder=“メールアドレス” name=“email”>
<label class=“error” for=“email”>このフィールドは必須です。</label>
<br>
</form>
</html>
| ルール名 | 内容 |
|---|---|
| required | 必須入力チェックを行う |
| remote | バリデーション結果をサーバに問い合わせる |
| 入力値がメールアドレスのフォーマットであるか | |
| url | 入力値がURLのフォーマットであるか |
| date | 入力値が日付であるか |
| dateISO | 入力値がISO形式の日付であるか |
| number | 入力値が数字であるか |
| digits | 入力値が数字のみであるか(整数のみ) |
| creditcard | 入力値がクレジットカード番号のフォーマットであるか |
| equalTo | 入力値が指定した値と一致しているか(確認のため二度入力する項目など) |
| maxlength | 入力値が指定した桁数以下か |
| minlength | 入力値が指定した桁数以上か |
| rengelength | 入力値が指定した桁数の範囲であるか |
| renge | 入力値が指定した数字の範囲であるか |
| max | 入力値が指定した数字以下であるか |
| min | 入力値が指定した数字以上であるか |
条件付き
rules: {
abc: {
required: '#male:checked'
}
}
rules: {
abc: {
required: '#male:!checked'
}
}
rules: {
"abc": {
required: function() { return ($('#day').val() == '20' || $('#day').val() == '30'); }
}
}
rules: {
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
}
}
$(function() {
// Alphabet
jQuery.validator.addMethod("Alphabet", function(value, element) {
return this.optional(element) || /^[A-Za-z]*$/.test(value);
}, "アルファベットを入力してください");
})
Ajaxで別のファイルに接続して、返り値がfalse, undefined or nullの場合invalidとなる。
$(function(){
$("#form-ID").validate({
rules : {
name : {
required: true,
minlength: 2
}
remote: {
url: "path/to/url/namecheck.php",
type: "get",
data: {
username: function() {
return $('#name').val();
}
}
}
}
});
})
このとき相手側はGETパラメータの['username']で値を受け取り、必要なチェックを行って'true'または'false'を返す。2)