私はかなり大きなフォームを持っており、PHP 検証 (ofc) と共に 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 以上の入力ボックスを見るとわかるように、これは非常に大きくなります。たぶんループが機能すると思いましたが、どのように進めればよいかわかりません。おそらく、すべての変数を含む配列ですか? どんな助けでも素晴らしいでしょう。