我有一个包含 2 个字段的表单;手机号码。和电话号码。
至少必须填写其中 1 个字段,但也可以同时填写两个字段。
如果它们都没有填充,我需要 jquery validate 来抛出错误。
我通过以下方式实现了这一点:
rules: {
mobile:{
required: {
depends: function(element) {
return $("#regTelephone").val() === '';
}
}
},
telephone:{
required: {
depends: function(element) {
return $("#regMobile").val() === '';
}
}
}
}
但是,如果只有一个字段为空,则该字段仍然获得“有效”类,这是我不想要的,因为我的有效 css 有一个绿色边框(因此空字段仍然有一个绿色边框)
那么:如何获取空字段(假设另一个字段有值)而不获取有效的类,从而获取绿色边框?
最佳答案
使用the optional additional-methods.js
file ,有一个名为 require_from_group
的方法可以完全满足您的请求。 (您必须至少使用该插件的 1.11.1 版本,以避免过去的错误。)
rules: {
mobile:{
require_from_group: [1, '.mygroup']
},
telephone:{
require_from_group: [1, '.mygroup']
}
},
....
1
参数是需要组中的数量。在 HTML 标记中,组中的字段必须包含与第二个参数中指定的 class
匹配的 class
。
<input type="text" class="mygroup" name="mobile" />
<input type="text" class="mygroup" name="telephone" />
工作演示:http://jsfiddle.net/NfcxX/
我的演示还显示了groups
选项,它将多个错误消息合并为一个。
关于jQuery 验证插件,两个字段之一是必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18315072/