我有一些与验证相关的函数,这些函数将在我的所有视图中使用,并且位于外部JS文件中。我在_Layout.cshtml中添加了JS引用。
我的理解是,如果将文件引用到_Layout.cshtml中,那么它可以在布局中呈现的视图中使用。但是,当我运行另一个视图并检查它时,我看到对JS文件“val.js”的引用,但它导致控制台出错(可能是错误是我验证不在另一个上的原因)视图):
这是我的val.cs文件的定义:
(function ($) {
var defaultOptions = {
validClass: 'has-success',
errorClass: 'has-error',
highlight: function (element, errorClass, validClass) {
$(element).closest(".form-group")
.removeClass(validClass)
.addClass('has-error');
},
unhighlight: function (element, errorClass, validClass) {
$(element).closest(".form-group")
.removeClass('has-error')
.addClass(validClass);
}
};
$.validator.setDefaults(defaultOptions);
$.validator.unobtrusive.options = {
errorClass: defaultOptions.errorClass,
validClass: defaultOptions.validClass,
};
})(jQuery);
所以任何形式的帮助都会很棒。感谢。
答案 0 :(得分:0)
经过几个小时的捣乱,我发现了如何解决这个问题,我只是将其添加到_Layout.cshtml的底部
@Scripts.Render("~/bundles/jqueryval")
<script src="@Url.Content("~/Scripts/val.js")"></script>