【发布时间】:2014-09-04 13:01:33
【问题描述】:
假设:
- 我的 ASP.NET MVC 5.2 中的 JQuery Unobtrusive 验证和 JQuery 验证工作正常
- 通常通过单击提交按钮进行的验证工作正常。
- 我正在使用 ASP.NET MVC 验证摘要来显示错误。
现在,当我尝试使用以下方法调用单个元素验证时:
form.validate().element(txtPostalCode)
出现问题:
验证失败时,验证摘要中不显示错误消息。
验证成功后,我不断收到来自非干扰验证的此错误。
Uncaught TypeError: Cannot read property 'attr' of undefined
在粗体代码中进一步挖掘:
function onSuccess(error) { // 'this' is the form element
var container = error.data("unobtrusiveContainer"),
**replaceAttrValue = container.attr("data-valmsg-replace"),**
关于如何实现这一点的任何想法?基本上我想做的是验证一个元素,并在验证摘要中显示错误(如果有)。
谢谢!
【问题讨论】:
-
只是为了澄清,你给它这样的 form.validate().element('#txtPostalCode') 而不是 form.validate().element(txtPostalCode)。对吗?
-
是的,感谢您的关注。 txtPostalCode 是 $("#txtPostalCode") 存储在该变量中。
-
你试过 $("#txtPostalCode").valid() 吗?但是他们都应该工作,但仍然......一击并尝试
-
如果您有单独的验证消息,它可以工作 - 例如
@Html.ValidationMessageFor(m => m.txtPostalCode) -
试试@Shiv 的建议。将
.valid()方法附加到元素...$("#txtPostalCode").valid()。
标签: jquery asp.net-mvc jquery-validate unobtrusive-validation