unobtrusive验证,ajax局部加载后验证失效解决方法
页面加载后运行此代码
$(function() {
$.validator.unobtrusive.parse($("form"));
});
原因:
页面加载后unobtrusive已对各标签的验证状态进行保存,页面局部加载后并不会导致unobtrusive重新对页面的控件进行验证并保存前状态,导致新页面无法进行验证。
原理:
注意看jquery.validate.unobtrusive源码最后一段:
$(function () {
$jQval.unobtrusive.parse(document);
});
jquery.validate.unobtrusive在页面加载后响应并运行上面代码,解析页面中data-val-*属性的标签,检验其验证规则。
局部刷新或加载页面后,jquery.validate.unobtrusive无法对新加入的标签进行data-val-*属性的过滤,导致验证失效。
解决:
$(function() {
$.validator.unobtrusive.parse($("form"));
});
调用上面代码,使unobtrusive重新对控件进行验证
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。