我已经实现了Jquery Validator,但面临着某些有时无法正常工作的条件验证的问题。使用Jquery进行条件验证有时不起作用
- 我有要求控制应该是需要的,如果单选按钮被选中,我已经创建函数被调用,我传递单选按钮的名称。
- 我也面临着其他验证这个问题仅如果任何两个单选按钮中选择出的3
当我添加警报每次功能警报被调用,但验证需要控制不
我已经被截断我的验证码让我知道,如果我做错了什么
JS代码: -
$('#ConditionalLiability').validate({
onfocusout: false,
onkeyup: false,
rules: {
ConcernsNoted: {
required: true
},
ConcernsWithExteriorWalls: {
required: ValidationRadio("ConcernsNoted", 'Y')
},
chkExteriorWalls: {
required: ValidationRadio("ConcernsWithExteriorWalls", 'Y')
},
GranularLossComments: {
required: Conditional("GranularLoss")
}
},
showErrors: function (errorMap, errorList) {
var messages = "";
var check = 0;
$.each(errorList, function (index, value) {
check = 1;
var id = $(value.element).attr('id');
messages += (index + 1) + ". " + value.message + "\n";
});
messages = "Please correct following errors \n" + messages;
if (check == 1) {
alert(messages);
}
},
submitHandler: function() {
SaveData();
},
messages: {
ConcernsNoted: {
required: "Please select a value for Concerns With Home Exterior"
},
ConcernsWithExteriorWalls: {
required: "Please select a value for Concerns With Exterior Walls"
},
chkExteriorWalls: {
required: "Please select at least one option for Concerns with Exterior Walls"
},
GranularLossComments: { required: "Please enter comments for GranularLoss"
}
}
});
function Conditional(id) {
var element = "input:radio[name='" + id + "']:checked";
var radio_value = $(element).val();
if ((radio_value == 'M') || (radio_value == 'S')) {
return true;
} else {
return false;
}
}
function ValidationRadio(id, check) {
var element = "input:radio[name='" + id + "']:checked";
var radio_value = $(element).val();
if (radio_value == check) {
alert('true');
return true;
} else {
return false;
}
}
你说你是路过的单选按钮ID,但你正在寻找了单选按钮按名字。这可能是问题吗? – cfs 2013-04-23 14:50:44
对不起,我正在编辑我的问题 – 2013-04-23 14:53:31
你可以添加一个jsfiddle吗?这将有助于看到您的HTML以及与JavaScript的 – cfs 2013-04-23 15:00:27