検証プラグインは、遅延する必要があるカスタム メソッドで熱心に検証しているようです。他のすべての検証は遅延して行われます (つまり、フォームが送信されるまで)。
カスタムメソッド:
$.validator.addMethod("refDataAcInput", function(value, element)
{
return ($(element).val() == "" || $(element).data("hasValidSelectedValue") != null);
}, "The item must be a valid selected item.");
プラグインの初期化を検証します。
this.$form.validate({
ignore: null,
invalidHandler : function()
{
_self.initUnsavedChangesWarning.ignorePageLeaveReq = false;
_self.setValidationMsgVisible(true);
$("body,html").scrollTop($("#cmFormErrorReport").position().top);
},
submitHandler :function(form)
{
//Disable form submit button - prevent duplicate request for impatient users
$("button[type=submit]", form).prop("disabled", true);
form.submit();
},
showErrors : function(errorMap, errorList)
{
_self.updateErrors(errorList);
this.defaultShowErrors();
},
errorPlacement : function(error, $element)
{
$element.parents("tr").children(".fieldError").append(error);
},
errorClass : "jqueryError"
});
これを怠惰に行う方法はありますか?