我正在使用jquery validate来验证提交的表单。表单有三个输入字段,它们具有相同的规则,即只有number和required - true。我可以为所有三个输入写一条规则吗 -
rules: {
"depository.startDate":{
required:true,
digits:true
},
"depository.endDate":{
required:true,
digits:true
},
"depository.port":{
required:true,
digits:true
}
},
到
rules: {
"depository.startDate, depository.port, depository.endDate ":{
required:true,
digits:true
}
},
我试过但它不起作用,任何其他方式我都可以进行验证工作。
- 感谢
答案 0 :(得分:1)
使用内置的rules()
方法添加规则。 See documentation.
注意:必须在致电.validate()
后调用此方法,并且必须与.each()
合并。
HTML:
<input type="text" name="depository.startDate" />
<input type="text" name="depository.endDate" />
<input type="text" name="depository.port" />
jQuery的:
$('#form').validate({
// your other options
});
// the following method must come AFTER .validate()
$("input[name*='depository']").each(function() {
$(this).rules('add', {
required: true,
digits: true
});
});
当您向表单动态添加字段时,此方法也非常有用。
以下内容与自定义messages:
结合使用。请注意,格式与在.validate()
...
$("input[name*='depository']").each(function() {
$(this).rules('add', {
required: true,
digits: true,
messages: {
required: "Required input",
digits: "Only digits please"
}
});
});
或者,您可以使用class
,但为了使其正常工作,您还必须将其与.each()
...
HTML:
<input type="text" class="myclass" name="depository.startDate" />
<input type="text" class="myclass" name="depository.endDate" />
<input type="text" class="myclass" name="depository.port" />
jQuery的:
$('form').validate({
// your other options
});
// the following method must come AFTER .validate()
$('form').find('.myclass').each(function() {
$(this).rules('add', {
required: true,
digits: true
});
});