我一直在寻找这个问题的答案;我试图让jquery验证的数字设置工作没有任何成功。以下是我的设置:
{
min: 0,
max: 99,
digits: true,
messages: {
min: 'The minimum value is 0',
max: 'The maximum value is 99',
digits: 'The value must be a number'
}
}
我正在动态分配我的规则(我意识到上面的代码没有列出我正在验证的字段的名称)并且我已经验证所有其他规则(min和max)正确验证,但是当我在文本框中输入字母数字字符时,“min”验证器会触发而不是数字验证器。我正在使用输入类型的文本而不是数字,所以这不应该是问题。提前感谢您的帮助。
更新:
此外,对于任何搜索那里的人来说,如果你遇到“min”工作但“max”不能解决的问题,你需要确保你指定给“max”的变量是一个JavaScript编号。您可以为min指定字符串“0”,它将执行转换,但将字符串“99”传递给max将导致最大验证停止工作。这是我长期处理的另一个问题,因为在这个解决方案中我不知道设计时的最小值和最大值。我从DOM中的属性中提取它们,这些属性是字符串。
答案 0 :(得分:3)
我不是专家,但是如果你把digits: true,
放在min和max之上,那该怎么办?
{
digits: true,
min: 0,
max: 99,
messages: {
min: 'The minimum value is 0',
max: 'The maximum value is 99',
digits: 'The value must be a number'
}
}
答案 1 :(得分:0)
在验证之前添加以下代码
jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
您应该<input type="text" />
仅使用<input type="number"/>