在我的客户注册表格中,我有以下规则
// Define the div containing validation messages
var container = $('#clientErrorWrapper');
// Start validation routine
// validate the form when it is submitted
var validator = $("#frmEdit").submit(function() {
// update underlying textarea before submit validation
tinyMCE.triggerSave();
}).validate({
errorContainer: container,
errorLabelContainer: $("ul", container),
wrapper: 'li',
// start rules (add new rules as necessary)
rules: {
firstname: {
required: true
},
lastname: {
required: true
},
email: {
required: true
},
address1: {
required: true
},
city: {
required: true
},
state_province: {
required: function(element) {
return $("#country").val() == 'US';
}
},
postcode: {
required: true
},
country: {
required: true
}
// finish rules
}
我想扩展state_province规则,以便在国家/地区等于CA或AU时需要此字段,我该如何实现此目标。
答案 0 :(得分:4)
你可以这样做:
state_province: {
required: function(element) {
var c = $("#country").val();
return c=='US' || c=='CA' || c=='AU';
}
}
除非你的名单变得更长,否则不需要变得更复杂。
如果列表增长,您可以使用jQuery's .inArray():
state_province: {
required: function(element) {
return $.inArray($("#country").val(), ['US','CA','AU']) > -1;
}
}