覆盖默认的css级不显眼验证

时间:2014-02-14 15:43:26

标签: jquery css asp.net-mvc jquery-validate unobtrusive-validation

我在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;
    });
});

上述代码仅适用于初始(第一次)提交,但不适用于任何后续提交?我不知道这是否是一个很好的方法。如果有人能就此问题提供一些意见,我会很高兴。

0 个答案:

没有答案