1
我有一個帶有SELECT字段(college_id)的表單,我試圖驗證它。 我正在使用JQuery驗證插件並嘗試使用它的「遠程」選項。Jquery驗證插件,使用自定義錯誤消息進行遠程驗證
HTML:
<form id="registration-form" ... >
.
.
<select name="college_id" id="college_id" class="required" >
//Options generated using PHP code
</select>
.
.
</form>
JAVASCRIPT:
$(document).ready(function(){
//For triggering the validation onChange
$('#college_id').change(function(){
$("#college_id").removeData("previousValue");
$("#registration-form").validate().element("#college_id");
});
$('#registration-form').validate({
rules:{
college_id:{
remote: {
type: 'POST',
url: urls.base_url+'Representative/checkCollegeAJAX/',
dataType:"json",
data:{
college_id:function(){
return $('#college_id').val();
}
},
dataFilter: function(data) {
data=JSON.parse(data);
console.log(data.isError);
if(!data.isError) { //If no error
return true;
} else {
console.log("Error Message: "+data.errorMessage);
return "\"" + data.errorMessage + "\"";
}
}
}
}
}
});
});
正如你可以在上面看到,我試圖顯示錯誤消息時ISERROR ==真
我的PHP代碼返回JSON編碼對象,如:
{"isError":true,"errorMessage":"Sorry!"}
在錯誤 或
{"isError":false,"errorMessage":""}
的情況下,在沒有錯誤的情況。 (從火蟲問題提取)
問題是,無論響應如何,我一直在SELECT字段旁邊出現「Fix this field」。 只有在出現錯誤的情況下,我需要顯示我的自定義消息(data.errorMessage)。
我相信用自己的js代碼將是一個更好的解決方案,讓我知道如果你有興趣,我將張貼一些例子,展示如何驗證輸入框,選擇框,純jQuery的單選按鈕 –
感謝您的評論。我最終編寫了自己的JS代碼進行驗證。我只希望這可以在JQuery驗證中實現,因爲它更清晰。 –
yeah插件總是乾淨的,但有時理解和編輯其他代碼是很痛苦的......也可以從你編寫的代碼創建插件,並且可以稍後參考它 –