我已經實現了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