在弹出窗口中显示MVC验证

时间:2013-04-07 08:36:50

标签: jquery asp.net-mvc-4 jquery-validate

我有一个MVC表单,它使用构建客户端验证,将注释放在模型类上,并根据默认的MVC标准添加不显眼的验证Javascripts。但是我的要求是,不是在表单顶部的验证摘要,而是要在弹出窗口中显示我的消息。

我在这种情况下使用的弹出窗口是bootstrap模式,因为这个项目是基于bootstrap设计的。

那么在提交表单时如何覆盖onvalidate方法以触发弹出窗口显示并获取弹出窗口中的正确消息?

1 个答案:

答案 0 :(得分:-2)

我能找到的最佳解决方案是破解jquery验证插件,因为这是MVC正在使用的。我说黑客,因为插件没有公开添加事件处理程序的方法,并且重新验证验证不是一个选项。所以我在找到事件名称后手动添加了绑定。这是一个例子:

$("#form1").bind('invalid-form.validate', 
            function(form, validator) {
                var errors = "";
                for(var i = 0; i < validator.errorList.length; i++){
                    errors += validator.errorList[i].message+" ";
                }
                if (errors != "")alert(errors);
            }
        );

在我的情况下,我没有调用Javascript警报,而是将代码调用我的弹出窗口。