jQuery验证插件,需要两个字段中的一个
我有一个有两个字段的表单;手机号码和电话号码 必须至少填写其中一个字段,但也可以同时填写这两个字段 我需要jqueryvalidate来抛出一个错误,如果它们都没有被填充 我通过以下方式实现了这一目标:jQuery验证插件,需要两个字段中的一个,jquery,jquery-validate,Jquery,Jquery Validate,我有一个有两个字段的表单;手机号码和电话号码 必须至少填写其中一个字段,但也可以同时填写这两个字段 我需要jqueryvalidate来抛出一个错误,如果它们都没有被填充 我通过以下方式实现了这一目标: rules: { mobile:{ required: { depends: function(element) { return $("#regTel
rules: {
mobile:{
required: {
depends: function(element) {
return $("#regTelephone").val() === '';
}
}
},
telephone:{
required: {
depends: function(element) {
return $("#regMobile").val() === '';
}
}
}
}
但是,如果只有一个字段是空的,那么这个字段仍然会得到“valid”类,这是我不想要的,因为我的有效css有一个绿色边框(因此空字段仍然会得到一个绿色边框)
因此:如何获取空字段(如果另一个字段有值)以不获取有效类和绿色边框?使用,有一个名为require\u from\u group
的方法,它完全满足您的请求。(您必须至少使用插件的1.11.1版,以避免过去的错误。)
1
参数是组中需要的数量。在HTML标记中,组中的字段必须包含与第二个参数中指定的class
匹配的class
<input type="text" class="mygroup" name="mobile" />
<input type="text" class="mygroup" name="telephone" />
工作演示:
我的演示还显示了组
选项,该选项将多条错误消息合并为一条。
<input type="text" name="mobile" id="regMobile">
<input type="text" name="telephone" id="regTelephone">
rules: {
mobile:{
required: {
depends: function(element) {
return $("#regTelephone").val() == ''
}
}
},
telephone:{
required: {
depends: function(element) {
return $("#regMobile").val() == ''
}
}
}
}
规则:{
流动电话:{
所需:{
依赖:函数(元素){
返回$(“#regTelephone”).val()
}
}
},
电话:{
所需:{
依赖:函数(元素){
return$(“#regMobile”).val()
}
}
}
}
如果.val
无效,则可以在验证后放入if语句以删除有效类null@Zeaklous,仅供参考,该插件已经有了一个规则/方法,名为require\u from\u group
。我遇到了一个问题。它似乎阻止其他字段被验证。我添加了一个初始的“title”字段,验证被忽略:@Andy,GitHub上有人说这个bug已经在尚未发布的最新测试版中修复。如果它这么简单,我们就不需要require\u from\u group
方法。
<input type="text" name="mobile" id="regMobile">
<input type="text" name="telephone" id="regTelephone">
rules: {
mobile:{
required: {
depends: function(element) {
return $("#regTelephone").val() == ''
}
}
},
telephone:{
required: {
depends: function(element) {
return $("#regMobile").val() == ''
}
}
}
}