我使用“age”类为我的元素制作了一个自定义验证规则(注意:我知道我可以使用name属性制作一个基本规则,但这不是我在这里寻找的。)
我的代码看起来像那样(CoffeeScript):
jQuery.validator.addClassRules
age:
required: true
min: 10
max: parseInt($('#max_age').data('max'), 10)
当我在Chrome控制台中尝试parseInt($('#max_age').data('max'), 10)
时,它会返回正确的值,并进行完美解析。
但是,我的验证规则似乎不起作用......我在输入'.age'上收到错误“请输入小于或等于NaN的值”。
总而言之,验证规则适用于'required'和'min',但我似乎无法为我的'max'参数使用自定义值。
有没有人有任何想法?我检查了the jQuery validation documentation,但他们只在示例中使用数值。
非常感谢!
答案 0 :(得分:1)
这应该有所帮助。
在你的验证中
更改强>
// clean number parameters
$.each(['minlength', 'maxlength', 'min', 'max'], function() {
if (rules[this]) {
rules[this] = Number(rules[this]);
}
});
。通过强>
// clean number parameters
$.each(['minlength', 'maxlength'], function() {
if (rules[this]) {
rules[this] = Number(rules[this]);
}
});
否则使用最新版本升级您的验证js
来源:https://github.com/jzaefferer/jquery-validation/issues/455