【发布时间】:2011-12-22 18:55:52
【问题描述】:
有没有办法禁用某个验证器(信用卡)的 jQuery 验证,以便它只发生在 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。
在表单中输入信用卡号并让它随机地从无效变为有效,然后又变为无效,这有点烦人。
有什么想法吗?谢谢!
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-3 jquery-validate