相关疑难解决方法(0)

ASP.net MVC 3 jQuery验证; 禁用Unobtrusive OnKeyUp?

有没有办法禁用某个验证器(信用卡)的jQuery验证,以便它只发生在onblur而不是onkeyup?

基于jQuery Validator文档,我想我可以做这样的事情:

$(function () {
    $("[data-val-creditcard]").validate({
        onkeyup: false
    })
});
Run Code Online (Sandbox Code Playgroud)

但是,它似乎没有起作用.

我还尝试在我的验证器上执行以下操作:

public class CreditCardValidator : DataAnnotationsModelValidator<CreditCardAttribute>
{
    string _message;

    public CreditCardValidator(ModelMetadata metadata, ControllerContext context, CreditCardAttribute attribute)
        : base(metadata, context, attribute)
    {
        _message = attribute.ErrorMessage;
    }

    public override IEnumerable<ModelClientValidationRule> GetClientValidationRules()
    {
        var rule = new ModelClientValidationRule
        {
            ErrorMessage = _message,
            ValidationType = "creditcard"
        };
        rule.ValidationParameters.Add("onkeyup", false);
        return new[] { rule };
    }
}
Run Code Online (Sandbox Code Playgroud)

它也不起作用,但我只是在正确使用ValidationParameters.

在表单中输入信用卡号并将其随机从无效更改为有效,然后返回无效,这有点烦人.

有任何想法吗?谢谢!

asp.net-mvc jquery jquery-validate asp.net-mvc-3

24
推荐指数
4
解决办法
2万
查看次数