如jqueryvalidation require_from_group-method
示例所示,可以使用类选择组。
$( "#myform" ).validate({
rules: {
mobile_phone: {
require_from_group: [1, ".phone-group"]
},
home_phone: {
require_from_group: [1, ".phone-group"]
},
work_phone: {
require_from_group: [1, ".phone-group"]
}
}
});
我还发现可以通过ID进行选择。
$( "#myform" ).validate({
rules: {
mobile_phone: {
require_from_group: [1, "#mobile_phone, #home_phone, #work_phone"]
},
home_phone: {
require_from_group: [1, "#mobile_phone, #home_phone, #work_phone"]
},
work_phone: {
require_from_group: [1, "#mobile_phone, #home_phone, #work_phone"]
}
}
});
是否可以按名称选择?以下两次尝试会导致错误。
$( "#myform" ).validate({
rules: {
mobile_phone: {
require_from_group: [1, "[name: mobile_phone], [name: home_phone], [name: work_phone]"]
},
home_phone: {
require_from_group: [1, "[name: mobile_phone], [name: home_phone], [name: work_phone]"]
},
work_phone: {
require_from_group: [1, "[name: mobile_phone], [name: home_phone], [name: work_phone]"]
}
}
});
$( "#myform" ).validate({
rules: {
mobile_phone: {
require_from_group: [1, "[name: 'mobile_phone'], [name: 'home_phone'], [name: 'work_phone']"]
},
home_phone: {
require_from_group: [1, "[name: 'mobile_phone'], [name: 'home_phone'], [name: 'work_phone']"]
},
work_phone: {
require_from_group: [1, "[name: 'mobile_phone'], [name: 'home_phone'], [name: 'work_phone']"]
}
}
});
答案 0 :(得分:1)
带有attrib的选择器与=
而非点:
一起使用,因此您只应将:
替换为=
见下面的代码:
$(document).ready(function () {
$("#form").validate({
rules: {
"mobile_phone": {
require_from_group: [1, "[name= mobile_phone], [name=home_phone], [name=work_phone]"]
},
"home_phone": {
require_from_group: [1, "[name=mobile_phone], [name=home_phone], [name=work_phone]"]
},
"work_phone": {
require_from_group: [1, "[name=mobile_phone], [name=home_phone], [name=work_phone]"]
}
},submitHandler: function (form) { // for demo
if($(form).valid() ) alert("form valide");
return false; //form.submit();
}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script src="//ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/additional-methods.js"></script>
<form id="form" method="post" action="#">
<label for="name">mobile phone :</label>
<input class="phone-group" type="text" name="mobile_phone" id="mobile_phone" /><br><br>
<label for="name">home phone :</label>
<input class="phone-group" type="text" name="home_phone" id="home_phone" /><br><br>
<label for="name">work phone :</label>
<input class="phone-group" type="text" name="work_phone" id="work_phone" /><br><br>
<button type="submit">Submit</button>
</form>
&#13;