jQuery-验证 require_from_group 并按名称选择
jQuery-Validate require_from_group and selecting by name
如 jqueryvalidation require_from_group-method
示例所示,可以通过使用 class.
select 一组
$( "#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 select。
$( "#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"]
}
}
});
可以按名字select吗?以下两次尝试导致错误。
$( "#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']"]
}
}
});
带属性的选择器适用于 =
而不是点 :
所以你应该只用 =
替换 :
请参阅以下代码段:
$(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>
如 jqueryvalidation require_from_group-method
示例所示,可以通过使用 class.
$( "#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 select。
$( "#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"]
}
}
});
可以按名字select吗?以下两次尝试导致错误。
$( "#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']"]
}
}
});
带属性的选择器适用于 =
而不是点 :
所以你应该只用 =
:
请参阅以下代码段:
$(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>