JQuery验证MVC4如何找出mvc表单无效的原因

时间:2012-09-21 16:02:47

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

我正在努力使用MVC4和JQuery验证。

我们有相当数量的文本框,旁边有验证信息。

一旦他们在所有消息中输入了有效消息,消息就会全部消失。但是当我这样做时:

var valid = $('form').valid();

它总是会返回false。得到了这个(How to fire jQuery function only if form is valid

我不知道表单有什么问题。有没有办法获取表单的错误消息?

我已经尝试连接validate()上的show错误,如下所述:

Jquery validate showerrors display name

但这从未填充任何信息。当我测试时,我把它放在每个输入框的更改上:

   if ($('form').valid()) {
      alert('the form is valid');
   }
   else if(!$('form').valid()) {
       alert('the form is NOT valid');                                
   }

但它总是返回无效。

修改

刚刚开始创建在线样本(根据webdeveloper的要求)。 Chrome隐藏了一些HTML(使用jquery选项卡控件)。所以去了IE获取源代码并验证工作。然后在FF中尝试了它并且它有效。所以它似乎只在Chrome中被打破了。

编辑2

创建了jsfiddle.net页面:http://jsfiddle.net/qN3Cn/1/

在IE中,表单将返回有效,在chrome中无效。

2 个答案:

答案 0 :(得分:4)

可能是隐藏字段的错误,您可以在控制台中查看所有错误:

$('form').validate().errorList

答案 1 :(得分:1)

它归结为隐藏字段(hiddenfor)。我有一个日期在回发模型的页面上隐藏。当Chrome不在美国时,Chrome不喜欢玩得很好!我最终不得不把它放在我的web.config

 <system.web>
      <globalization culture="en-GB" uiCulture="en-GB"/>

一旦我的Thread.CurrentThread.CurrentUICulture设置正确,一切都很顺利。