我试图在表单上动态指定一些规则。在此表单上,我有三个TextBox输入(Text1
,Text2
,Text3
)和一个复选框(Check1
)
我将配置以下规则:
Text2
的规则:该字段应为正数,带有2位小数,且其值应等于或大于Text1
Text3
的规则:该字段应为包含2位小数的数字。此外:
a)如果选择Text3
,Check1
的值必须等于零
b)如果未选择Text3
,则Text1
的值必须小于或等于Text2
且小于或等于Check1
。
如何在jQuery Validation插件中表达这些规则?有什么建议吗?
更新: 这是(1)的基本规则。它错过了相等或更好的部分:
$('#Text2').rules('add', {
required: true,
min: 0.0,
number: true,
messages: {
required: 'Message 1',
min: 'Message 2',
number: 'Message 3'
}
});
答案 0 :(得分:3)
您可以使用$ .validator.addMethod ..
例如,
$.validator.addMethod("decimal", function(val, element){return /\d*(\.\d+)?/.test(val)}, "Should enter only numericals.");
上述方法只检查小数。
我们可以通过在类名中添加第一个参数名称来使用它,例如
<input type="text" class="required decimal" />
在您的情况下,您需要检查值是否大于text1,因此我们可以将其作为
$.validator.addMethod("text2validator", function(val, element){if(val > $("#text1").val())return true;}, "Value should be greater than text1")
<input type="text" id="text1" value="10" />
<input type="text" id="text2" class="required decimal text2validator" />