在MVC
项目中,我为validation
添加了必要的参考资料:
@Scripts.Render("~/bundles/jqueryval")
在我的_Layout
页面中。但是,例如在我的Register
页面中,除非我将此代码添加到我的Register
页面,否则验证无效。在这两种情况下,当我查看页面的来源时,我会看到必要的参考资料。
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive-custom-for-bootstrap.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
所以一切都很好。它没有两次添加引用,但我无法弄清楚有什么区别?
这是我的捆绑代码:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
注意:我在_Layout
中渲染了几个样式包,但不会导致任何问题。
答案 0 :(得分:0)
当我尝试在部分视图中进行验证时遇到了同样的问题。
从不同的帖子我的解决方案就像这样:
在部分视图中,我使用<div id="#formDiv>
围绕我的编辑字段
并添加脚本
<script>
$(document).ready(function() {
$.validator.unobtrusive.addValidation("#formDiv");
});
</script>
和custom.js:
//Validation on partial views
$(function () {
$.validator.unobtrusive.addValidation = function(selector) {
//get the relevant form
var form = $(selector);
// delete validator in case someone called form.validate()
$(form).removeData("validator");
$.validator.unobtrusive.parse(form);
};
});