0

カスタムバリデーターがあります。値が変更されたときにエラーメッセージが削除されないことを除いて、すべてが機能します。

(function ($) {
$.validator.addMethod('lastcategory', function (value, element) {
    alert(value);
    return value != 0;
}, '');

$.validator.unobtrusive.adapters.addBool('lastcategory');

$.validator.setDefaults({ ignore: [] });
}(jQuery));

私のフィールドは隠しフィールドです。送信を押すと、値が 0 になり、エラーが表示されます。jquery、eq : 7 で値を変更すると、エラー メッセージがまだ表示されます。

なんで?

4

1 に答える 1

0

その非表示フィールドの値の変更の後に、 、 などのプラグインによって使用されるイベントが続かないため、エラーは削除されませonfocusoutonkeyup

jQuery で、非表示フィールドの値を変更した直後にプラグインの.valid()メソッドを呼び出して、別の検証テストをプログラムでトリガーします。これにより、未処理のメッセージが自動的に更新されます。

$('#myHiddenFieldID').val(myNewValue); // whatever code is changing the value of the hidden field.
$('#myFormID').valid();
于 2013-03-11T21:57:11.553 に答える