2

我正在为 MVC4 和 JQuery 验证而苦苦挣扎。

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

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

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

它总是返回false。从(如何仅在表单有效时触发 jQuery 函数)得到这个

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

我已经尝试在 validate() 上连接显示错误,如下所述:

Jquery 验证 showerrors 显示名称

但这永远不会填充任何信息。当我测试时,我把它放在每个输入框的变化上:

   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 中则无效。

4

2 回答 2

4

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

$('form').validate().errorList
于 2012-09-21T16:13:26.763 回答
1

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

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

一旦我的 Thread.CurrentThread.CurrentUICulture 设置正确,事情就会很好地发挥。

于 2012-09-24T13:44:17.320 回答