为正整数创建jQuery Validate规则

时间:2016-07-18 23:18:56

标签: jquery jquery-validate

如何仅为0以上的正整数创建规则(例如1,2,3,4,5等)?

var form = $('#formClientLicense')[0];
$(form).validate();

var quantity = $(form).find("input[name='Quantity']")[0];
$(quantity).rules("add", {
    required: true,
    min: 1,
    step: 1,
    number: true,
    messages: {
        required: jQuery.validator.format("Required Field"),
        number: "Not a number",
        min: jQuery.validator.format("Please select positive number"),
        step: jQuery.validator.format("Please select whole number (ex. 1,2,3,4)")
    }
});

if ($(form).valid()) {
    // run here
}

3 个答案:

答案 0 :(得分:3)

对于大于零的正整数,请将min规则与integer规则结合使用。 integer规则可在the additional-methods.js file内找到。

$(quantity).rules("add", {
    required: true,
    min: 1,
    integer: true,
    messages: {
        required: jQuery.validator.format("Required Field"),
        min: jQuery.validator.format("Please select positive number"),
        integer: jQuery.validator.format("Please select whole number (ex. 1,2,3,4)")  
    }
});

DEMO:jsfiddle.net/h6bsawqb/

答案 1 :(得分:1)

最简单的方法是

    $( "#myform" ).validate({
      rules: {
        field: {
          required: true,
          digits: true
        }
      }
    });

参考:数字方法| jQuery验证插件 - > https://jqueryvalidation.org/digits-method/

答案 2 :(得分:-1)

您可以使用minstep的组合。

这样,它只接受1的倍数,从1开始。

$(quantity).rules("add", {
        number: true
        min: 1,
        step: 1,
        messages: {
            number: "Not a number",
            min: jQuery.validator.format("Please select positive number"),
            step: "Enter a integer number."
        }
});

你不需要minlenght,因为那是字符串。