我有相當大的形式,並與PHP驗證(ofc)我想使用jQuery。我是jQuery的新手,但環顧四周後,我的代碼運行良好。它正在檢查文本框的長度,如果長度不足,將不允許提交。如果條目較低,則文本框的顏色將更改爲紅色。jQuery使用循環進行驗證?
我遇到的問題是因爲表單太大,需要很長時間,並且需要很多代碼來驗證每個盒子。因此我想知道是否有一種方法可以循環使用所有變量,而不是每次都創建一個函數。
以下是我有:
var form = $("#frmReferral");
var companyname = $("#frm_companyName");
var companynameInfo = $("#companyNameInfo");
var hrmanagername = $("#frm_hrManager");
var hrmanagernameInfo = $("#hrManagerInfo");
form.submit(function(){
if(validateCompanyName() & validateHrmanagerName())
return true
else
return false;
});
確認功能
function validateCompanyName(){
// NOT valid
if(companyname.val().length < 4){
companyname.removeClass("complete");
companyname.addClass("error");
companynameInfo.text("Too Short. Please Enter Full Company Name.");
companynameInfo.removeClass("complete");
companynameInfo.addClass("error");
return false;
}
//valid
else{
companyname.removeClass("error");
companyname.addClass("complete");
companynameInfo.text("Valid");
companynameInfo.removeClass("error");
companynameInfo.addClass("complete");
return true;
}
}
function validateHrmanagerName(){
// NOT Valid
if(hrmanagername.val().length < 4){
hrmanagername.removeClass("complete");
hrmanagername.addClass("error");
hrmanagernameInfo.text("Too Short. Please Enter Full Name.");
hrmanagernameInfo.removeClass("complete");
hrmanagernameInfo.addClass("error");
return false;
}
//valid
else{
hrmanagername.removeClass("error");
hrmanagername.addClass("complete");
hrmanagernameInfo.text("Valid");
hrmanagernameInfo.removeClass("error");
hrmanagernameInfo.addClass("complete");
return true;
}
}
正如你可以看到這將是越來越龐大的50歲以上的輸入框。我想也許一個循環會工作,但不知道該怎麼辦。可能包含所有變量的數組?任何幫助都會很棒。
使用像[jQuery的驗證]驗證框架(http://jqueryvalidation.org/ ) –
是的,同意@ArunPJohny。使用插件。它的易於使用和獲得幫助 –