我使用 .net 4.5 使用 Visual Studio 2012 创建了一个新的 Web 应用程序项目。除了开箱即用的内容之外,我没有更改任何默认值或添加任何内容。
我已经阅读了整个网络,其中包括不显眼的验证,但是除了在脚本文件夹 webuivalidation 中我猜是它之外,可以找到任何对它的引用,尽管通过 nuget 有很多其他的。如果我去注册寻呼机并单击未填写任何内容的按钮,我会收到默认的错误消息,所以我再次猜测它的工作原理。链接到有关 4.5 脚本管理器的详细信息,我已阅读http://blogs.msdn.com/b/webdev/archive/2012/09/21/asp-net-4-5-scriptmanager-improvements-in-webforms.aspx
我想要做的是将css从默认更改为引导程序,如下面的链接所示:
MVC Twitter Bootstrap 不显眼的错误处理
但是使用任何一种方法或任何方法都会出错,因为我无法获取未定义的 jQuery.validator 对象。此外,如果尝试 $(this).valid() 给出不支持的错误。所以请有人可以帮助并向我解释一下,因为它似乎验证位不存在?我已经尝试了几个小时,但没有成功或真正理解问题。
谢谢乔恩
***** 代码位 ***
我从上面的链接中尝试过的 2 位代码,不是我写的(我尝试过编辑但仍然无法让它工作):
$('form').submit(function () {
if ($(this).IsValid()) {
$(this).find('div.control-group').each(function () {
if ($(this).find('span.field-validation-error').length == 0) {
$(this).removeClass('error');
}
});
}
else {
$(this).find('div.control-group').each(function () {
if ($(this).find('span.field-validation-error').length > 0) {
$(this).addClass('error');
}
});
}
});
$('form').each(function () {
$(this).find('div.control-group').each(function () {
if ($(this).find('span.field-validation-error').length > 0) {
$(this).addClass('error');
}
});
});
还:
jQuery.Page_Validators.setDefaults({
highlight: function (element, errorClass, validClass) {
if (element.type === 'radio') {
this.findByName(element.name).addClass(errorClass).removeClass(validClass);
} else {
$(element).addClass(errorClass).removeClass(validClass);
$(element).closest('.control-group').removeClass('success').addClass('error');
}
},
unhighlight: function (element, errorClass, validClass) {
if (element.type === 'radio') {
this.findByName(element.name).removeClass(errorClass).addClass(validClass);
} else {
$(element).removeClass(errorClass).addClass(validClass);
$(element).closest('.control-group').removeClass('error').addClass('success');
}
}
});
$(document).ready(function () {
$('span.field-validation-valid, span.field-validation-error').each(function () {
$(this).addClass('help-inline');
})
});