如何在jquery中验证Integer值

use*_*304 3 javascript jquery jquery-validate

我需要验证输入字段,它应该是整数(0-100),如果max_seat = 5则min_seat应该小于或等于max_seats.

<form class="cmxform form-horizontal" id="table_info" name="table_info"  method="post" action="">                                                       
<input class="span6 " id="max_seat"  name="default_seats" type="text" />
<input class="span6 " id="min_seats"  name="default_seats" type="text" />
</form>
Run Code Online (Sandbox Code Playgroud)

并且jquery看起来像这样,如何在这种类型的验证中创建规则,谢谢

    $("#table_info").validate(
    {
        rules: {
            min_range :"required integer",
            max_seats:"required integer"
        },
        messages: {
            max_seats: "* Required",
            min_range: "* Required",
        }
    });
Run Code Online (Sandbox Code Playgroud)

Spa*_*rky 6

这不是您声明多个规则的方式.(此速记样式只能与一个规则一起使用.)

rules: {
    min_range :"required integer",
    max_seats:"required integer"
}
Run Code Online (Sandbox Code Playgroud)

您必须单独声明每个规则.对于整数,您可以使用digits方法.

您的HTML对此插件也无效...

<input class="span6 " id="max_seat"  name="default_seats" type="text" />
<input class="span6 " id="min_seats"  name="default_seats" type="text" />
Run Code Online (Sandbox Code Playgroud)

每个字段必须包含唯一 name属性,您可以根据该属性声明规则name.(messages同样声明选项)

rules: {
    min_seats: { // <- this is the NAME attribute of the field, not ID
        required: true,
        digit: true
    },
    max_seats: { // <- this is the NAME attribute of the field, not ID
        required: true,
        digit: true
    }
}
Run Code Online (Sandbox Code Playgroud)

要比较这两个字段,您必须使用.addMethod()方法并声明新的自定义规则与上面相同.