jquery验证数字不起作用

时间:2014-02-14 14:46:33

标签: jquery validation

我一直在寻找这个问题的答案;我试图让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中的属性中提取它们,这些属性是字符串。

2 个答案:

答案 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"/>