我想更改 ASP.NET MVC 3 以这种方式使用的客户端验证的默认行为:
如果有错误,我不希望在 HTML 中添加任何跨度来显示我的错误。我唯一想要的是更改有错误的输入字段的颜色。
我不知道这是否是“正确”的做法,但这是我已经做过的:
我编辑了 jquery.validate.unobtrusive.js:
function onError( error, inputElement )
{ // 'this' is the form element
var container = $( this ).find( "[data-valmsg-for='" + inputElement[0].name + "']" ),
replace = $.parseJSON( container.attr( "data-valmsg-replace" ) ) !== false;
container.removeClass( "field-validation-valid" ).addClass( "field-validation-error" );
inputElement.addClass( "custom-validation-error" ); // <--------- this is my edit
error.data( "unobtrusiveContainer", container );
if( replace )
{
container.empty();
error.removeClass( "input-validation-error" ).appendTo( container );
}
else
{
error.hide();
}
}
这只会添加名为 custom-validation-error 的类,它会更改输入字段的颜色。但是,如果一切正常,我该如何删除这个类?
以及如何停止将跨度添加到我的 HTML 中?
谢谢。