Asp MVC 非侵入式客户端验证始终返回 true

Asp MVC unobtrusive Client Validation always returning true

提问人:Kenoyer130 提问时间:5/20/2011 最后编辑:Joel CoehoornKenoyer130 更新时间:11/21/2011 访问量:2186

问:

我们有一个部分视图,其中包含一个启用了不显眼的客户端验证的表单。

如果我们使用 Html.Action 加载部分视图,则验证在客户端起作用。

如果当用户单击链接时,我们使用 JQuery 用部分视图填充 div,则客户端验证始终返回 true。

知道这是怎么回事吗?

asp.net-mvc 验证 unobtrusive-javascript

评论


答:

11赞 tvanfosson 5/20/2011 #1

您需要解析新的 html 以挂接验证控件。您可以使用以下方法执行此操作:

$.validator.unobtrusive.parse( $('.selector' ) );

其中,选择器返回包含新 HTML 的容器。这就是我在选项卡式界面中使用的。

评论

0赞 akd 2/27/2014
花了一天时间,终于找到了灵魂。我还使用选项卡视图并使用ajax请求加载选项卡视图。现在唯一不起作用的是显示为错误的文本的颜色。它通常是红色的,但在加载的 html 上它显示黑色。任何想法以及如何解决这个问题?
0赞 tvanfosson 2/27/2014
@akdurmus听起来用于验证的 CSS 尚未加载到页面中
0赞 akd 2/27/2014
首先,感谢您的光临。正如您提到的,通过使用 firebug,我发现了 CSS 尚未加载的问题。但在其他页面上,它似乎可以正常工作。这是从服务器加载的部分视图。这个问题的解决方案是什么?将源文件附加到此局部视图?谢谢
0赞 tvanfosson 2/27/2014
@akdurmus我认为布局将是适合它的地方。您可能只想将这些类包含在标准页面 CSS 中。
0赞 Andreas 6/10/2016
我花了几个小时才弄清楚为什么#¤&%验证不起作用,但这个答案让我意识到了原因。我显示了从 ajax 请求返回的部分视图,并且必须运行此命令来初始化新 HMTL 的验证。谢谢!