やりたいこと
簡単にバリデーションをかけることができるJQuery Validateですが、
他の選択肢によって必須かどうかを操作したい状況がありました。
そこで簡単に実装することができたのでそれを書きます。
JQuery Validate
例えばform
でemail
というname属性に必須条件を加えたい場合は
以下のような記述になる。
$('form').validate({
rules: {
'email': {
required: true
},
}
});
条件文
これにいつでも必須ではなく
他の入力項目がある条件を満たすときに必須としたいとき。
例えば同じentry
という属性の値がyes
ならemail
を
必須にしたいなら以下のようになる。
$('form').validate({
rules: {
'email': {
required: {
depends: function(){
if ($('[name=entry]').val() == 'yes') {
return true;
} else {
return false;
}
}
}
},
}
});
depends
を用いて条件分を入れることができ
より複雑なバリデーションをかけることができます^^