jQueryValidationのカスタムルール作成
自分で追加した検証ルール、
カスタムルールを使うには
$.validate.addMethod()
を使う
この構文は
$.validate.addMethod(
ルール名,
検証ルール関数,
デフォルトのエラーメッセージ
);
となる
検証ルール関数は
function(value, e){
//検証内容
}
作成する検証ルール関数では
第一引数には、フィールドの入力値
第2引数には、検証を行ったフィールドの要素
が入る
実際に定義したルールを使うには
class=”ルール名”
として
input などに付ける
入力されたのが
本で使われるISBNコード
ISBN10形式なのか検証するなら
$.validate.addMethod("isbn10",function(value,e){
if(/^(¥d{9}) [¥d|X]$/.test(value)){
var check=0;
for(var n=0; n<value.length-1; n++){
check += parseInt(value.charAt(n), 10) * (10-n);
}
checkdigit = 11 - (check % 11);
checkdigit = (checkdigit == 10)? 'X': checkdigit;
return checkdigit == value.charAt(9);
}else{
return false;
}
},
'正しいISBNを入力してください');
ルールの適用のソースは
<input type="text" name="isbn" id="isbn" class="isbn10"/>
とすればok