【问题标题】:MVC Rebind Foolproof ValidationMVC 重新绑定万无一失的验证
【发布时间】:2015-10-30 14:41:49
【问题描述】:

您好,我正在加载一个表单并使用通过万无一失的 nuget 包扩展的不显眼的客户端验证。这一切都很好,但现在我正在尝试使用 ajax 加载表单的一部分。

使用 ajax 加载这些部分后,验证不会绑定到新字段。

对于正常的验证,我可以使用

重新绑定它
    $.validator.unobtrusive.parse('#form');

有没有类似的方法来重新绑定它们的万无一失的验证?

【问题讨论】:

  • 在你关闭 JavaScript 之前,一切都是万无一失的。
  • javascript 没有被关闭
  • 同样的代码会重新解析万无一失的验证(但在调用$.validator.unobtrusive.parse('#form');之前,你应该调用$('#form').data('validator', null);
  • 嗨@Stephen,刚刚回去工作并尝试了你的建议,它似乎已经成功了,谢谢。如果您想将其发布为答案,我会接受它

标签: jquery asp.net-mvc validation unobtrusive-validation foolproof-validation


【解决方案1】:

foolproof 以与 MVC 的验证属性相同的方式添加客户端验证,通过使用 $.validator.addMethod()$.validator.unobtrusive.adapters.add() 函数定义要添加到 jQuery 验证的规则,因此解析验证器也适用于防呆验证属性.

请注意,在重新解析验证器之前,您应该将验证器重置为null

var form = $('form');
form.data('validator', null);
$.validator.unobtrusive.parse(form);

【讨论】:

  • 天哪,谢谢!如果您正在使用其他破坏 DOM 的插件,这也很有帮助。我正在使用一个名为“steps”的模块,它悄悄地克隆 DOM,但验证器仍然引用原始控件,因此密码 equalTo 始终与原始控件进行比较(具有空白值)。很烦人!
猜你喜欢
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多