ASP.net MVC 3 Проверка jQuery; Отключить ненавязчивый OnKeyUp?

Есть ли способ отключить JQuery Validation для определенного валидатора (кредитной карты), чтобы он происходил только onblur, а не onkeyup?

Основываясь на документации jQuery Validator, я подумал, что могу сделать что-то вроде этого:

$(function () {
    $("[data-val-creditcard]").validate({
        onkeyup: false
    })
});

Тем не менее, это не похоже на работу.

Я также попытался сделать следующее на моем валидаторе:

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 };
    }
}

Это тоже не работает, но я просто попробовал правильное использование ValidationParameters.

Это немного раздражает, когда вы вводите номер кредитной карты в форму и случайным образом меняете его с недействительного на действительный, а затем обратно на недействительный.

Есть идеи? Спасибо!

Ответы на вопрос(6)

Ваш ответ на вопрос