[英]jQuery Validate - require at least one field in a group to be filled
[英]jQuery validate require two field or one other filed
我一直在寻找,但是没有找到适合我特定需求的解决方案。 我总共有3个字段(first_name,last_name和business_name)。 我希望用户输入名字和姓氏或仅输入公司名称。
我有几种方法,这是我最近的尝试。
<input type="text" id="first_name" name="first_name">
<input type="text" id="first_last" name="first_last">
<input type="text" id="bus_name" name="bus_name">
rules : {
first_name1 : {
required: function(element){
return $("#bus_name").val().length = 0;
}
},
last_name1 : {
required : function(element){
return $("#bus_name").val().length = 0;
}
},
bus_name1: {
required : function(element){
return ($("#first_name").is(':empty') && $("#last_name").is(':empty') ? true : false);
}
}
我也尝试过创建自定义方法。 不用说它没有用。
$.validator.addMethod("busnameRequired", function(value, element) {
var firstname1 = $("#first_name").val().length,
lastname1 = $("#last_name").val().length;
if(firstname + lastname == 0) {
return true;
}else{
return false;
}
}, "Enter Business Name");
提前致谢!
条件规则:
第一次尝试时,您会遇到各种各样的小问题。
您在first_name1
上声明了一条规则,但此字段名为first_name
。 插件需要正确的name
属性。
您在last_name1
上声明了一条规则,但此字段名为first_last
。 插件需要正确的name
属性。
您在bus_name1
上声明了一条规则,但此字段名为bus_name
。 插件需要正确的name
属性。
您在某些规则上检查长度,而在其他规则上检查:empty
。 都对它们使用.is(':blank')
。
演示: http : //jsfiddle.net/n8gvvb92/
自定义方法:
在您的自定义规则中,您的逻辑是倒退的。 当前,当名称字段为空时,您将返回true
。 在这种情况下,您将希望返回false
,以便触发验证错误消息。
您还要在这里也使用.is(':blank')
。
这样的事情更接近您想要的东西,但仍然需要一些工作。
$.validator.addMethod("busnameRequired", function (value, element) {
return ($("#first_name").is(':blank') && $("#last_name").is(':blank')) ? false : true;
}, "Enter Business Name");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.