我的表单和验证表单上有以下输入元素和jQuery验证插件。
vitualenv
<form name='frmUsers' id='frmUsers' method='post' action='#'>
<div>
<input type='text' name='name' id='name' placeholder='Name' />
</div>
<br />
<div>
<input type='text' name='fixed_budget' id='fixed_budget' placeholder='Fixed budget' />
</div>
<br />
<div>
<select name='budget' id='budget'>
<option value=''>Select your budget</option>
<option value='1000'>1000</option>
<option value='2000'>2000</option>
<option value='3000'>3000</option>
<option value='4000'>4000</option>
</select>
</div>
<br/>
<div>
<input id='save' type='submit' value='Save' />
</div>
</form>
现在所有元素都是必填字段,但我在$(document).ready(function () {
$("#frmUsers").validate({
onkeyup: false,
onfocusout: false,
ignore: [],
rules: {
"name": {
required: true
},
"fixed_budget": {
required: true
},
"budget": {
required: true
}
},
messages: {
"name": {
required: 'required'
},
"first_name": {
required: 'required'
},
"last_name": {
required: 'required'
}
},
errorPlacement: function (error, element) {
},
submitHandler: function () {
return false;
}
});
});
上有特定条件。
当用户点击提交时,Fixed budget (text box) and budget (select box)
和fixed budget
元素会显示错误,但(1)当用户在budget
上选择任意选项时,请将固定预算字段设置为不需要。 (2)当用户在budget
设置预算字段中输入某些内容时,不需要。
这是我工作的JSFiddle:http://jsfiddle.net/mananpatel/85KR4/384/
任何想法?
感谢。
答案 0 :(得分:1)
(1)当用户在预算中选择任何选项时,将固定预算字段设置为不需要。 (2)当用户在固定预算集预算字段中输入某些内容时,不需要。
换句话说,您只需要填写这两个字段中的一个。
包括the additional-methods.js
file并使用the require_from_group
method。
rules: {
name: {
required: true
},
fixed_budget: {
require_from_group: [1, ".requiredGroup"]
},
budget: {
require_from_group: [1, ".requiredGroup"]
}
},
DEMO:http://jsfiddle.net/7om97gk8/
注意:强>
如果要取消消息,请在return false
功能中使用errorPlacement
。不要把这个功能留空,因为这是一个草率的编码。
errorPlacement: function (error, element) {
return false;
},
此外,使用最新版本的插件文件,因为这将确保require_from_group
方法无错误运行。
当您完全禁用显示这些消息时,我不明白为什么使用messages
选项。在这种情况下,您可以安全地删除messages
。