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.
Это немного раздражает, когда вы вводите номер кредитной карты в форму и случайным образом меняете его с недействительного на действительный, а затем обратно на недействительный.
Есть идеи? Спасибо!