jQuery Validation プラグインを使用しています。
私の場合、ボタンのクリック時に検証が行われます(ただし、「onkeyup」、「onfocusout」メソッドはオンになっています)。入力用のカスタム メソッド/ルールを追加しました。
問題は次のとおりです。
ボタンをクリックすると、入力ではなく選択でのみ検証が行われます。この場合、新しいルールは無視されます。しかし、入力にテキストを入力すると、ルールが機能します。 問題を解決するには?
$(function() {
// Added new method/rule
$.validator.addMethod(
"testm",
function(value, element) {
return this.optional(element) || /^[0-9]+$/.test( value );
},
"Use a valid username."
);
$("#ftest").validate({
ignore: ".ignore, :hidden",
focusInvalid: true,
rules: {
i1:"required",
i2: {
testm: true
}
},
messages: {
i1: "error1",
}
});
// I need to check whether form is valid when I click the button
$("#btest").click(function() {
//alert('asd');
var valid = $("#ftest").valid();
if(valid)
{
alert('good');
}
else {
alert('bad');
}
});
})