在jQuery /验证文档说,你可以使用invalidHandler当一个无效的形式提交给反应。
但是,由于MVC不显眼的验证实例化验证本身,因此您必须稍后挂接此事件。
使用与jQuery/Validation完全相同的机制:您可以将您的代码绑定到表单元素自定义事件'invalid-form.validate',女巫对应于invalidHandler!
$(document).ready(function() {
$('#myform').bind('invalid-form.validate',function(){
alert('invalid form!');
});
});
给您形式的ID使用:
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "myform" })) {
}
更新:
的另一种方式获得现有的验证对象调用的validate()在窗体上。如果这种形式验证程序已经创建,它会被退回:
编辑:初始化后发生,改变.settings.invalidHandler
是为时已晚绑定。因此,除非您重新启动验证程序,否则以下代码段将不再有效。
$(document).ready(function() {
var existingValdiation = $("#myform").validate();
//the settings property corresponds to the options parameter
existingValdiation.settings.invalidHandler = function (form) {
alert('invalid form!');
};
// not recommended:
// re-init would bind settings.invalidHandler to 'invalid-form.validate'
// existingValdiation.init();
});
你究竟想要做什么?我知道你想运行一些JavaScript,如果它失败了,但是通过这样做试图达到什么目的? –