我正在尝试捕获 jquery validate 插件错误回调。我知道如果我直接调用 validate,您可以轻松地参与其中:
$('#form').validate({
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
//etc
}
}
});
但我不是。相反,我的表单被提交到服务器,如果!Model.IsValid
服务器返回无效模型并使用错误消息填充占位符:
<span data-valmsg-replace="true" data-valmsg-for="Email" class="field-validation-error">This field is required</span>
我需要知道这个 span 何时用错误消息更新,因为我有以下包装器:
<div class="errorContainer">
@Html.ValidationMessageFor(m => m.Email) /*This is the span above*/
</div>
Wherediv.errorContainer { visibility : hidden; }
和我只需要在出现错误消息时使其可见(因为它有背景并且不属于,除非里面有错误)。
我怎样才能做到这一点?最佳解决方案是我可以响应来自客户端和服务器端验证的错误,因为我计划在确保覆盖服务器端之后构建客户端验证。我想更好的问题是,有没有办法让invalidHandler
服务器返回错误的回调触发?