我在ASP.NET MVC中使用不显眼的验证和数据注释创建了一个自定义远程验证属性。我的自定义属性的目的是提供警告而不是错误,并通过单击复选框来禁止显示警告。 这样可以正常工作,但是当我尝试在激活验证时设置输入字段的样式时,我会被困在客户端上。我想要实现的是用我的新“输入验证警告”覆盖默认的css-class(输入验证错误),但到目前为止我没有运气。
我在将远程方法添加到验证器时尝试添加类:
$.validator.addMethod('userdoublewarning', function (value, element, params) {
var ignorewarnings = params['ignorewarnings'];
if ($("#"+ignorewarnings).is(':checked'))
return true;
var remoteCall = $.validator.methods.remote.call(this, value, element, {
url: "/CheckDouble",
data: {
email: value
}
});
$.when(remoteCall).done(function(v) {
if (v) {
$(element).addClass("input-validation-warning");
} else {
$(element).removeClass("input-validation-warning");
}
return v;
});
});
上述代码仅适用于初始(第一次)提交,但不适用于任何后续提交?我不知道这是否是一个很好的方法。如果有人能就此问题提供一些意见,我会很高兴。