0
'uniqueUserName'という名前のカスタム検証ルールを作成しました。私はフォームの入力フィールドusername_IDを検証するためにそれを使用します。問題は、それが引き起こされないということです。 Firebugでは、ルールがトリガーされたときに発生するリクエストはサーバーに送信されません。カスタムjquery検証ルールがトリガーされていません
私が検証したいフォームはdivに動的に読み込まれます。
マイスクリプト:
$(document).ready(function() {
//First. load the form and add it to the div.
$.get("registeraccount.php", function(data){
$("#adminarea").html(data);
//addValMeth();
attacheValidation("#registerform");
});
//function addValMeth(){
//Add custom validator rule
$.validator.addMethod("uniqueUserName", function(value, element) {
$.get("databasescripts/validate_username.php", {username: value}, function(data2){
if(data2 == "1"){
return true ;
}else{
return false;
}
});
}, "Användarnamnet är inte unikt");
//};
$("#registerform").live("submit", function(e){
//Prevent the form from submitting normally
e.preventDefault();
$.post("registeraccount.php",$(this).serialize(),function(msg){
});
});
function attacheValidation($form){
//Define validation rules
$($form).validate({
rules: {
firstname: "required",// simple rule, converted to {required:true}
surname: "required",
//phonenumber: "required",
address: "required",
// address2: "required",
zipcode: "required",
//username_ID: "return true;",
city: "required",
email: {// compound rule
required: true,
email: true
},
username_ID: {
required: true,
uniqueUserName: true
}
},
messages: {
firstname: "Förnamn saknas" ,
surname: "Efternamn saknas",
address: "Adress saknas",
zipcode: "Postkod saknas",
city: "Ort saknas",
companyname: "Företagsnamn saknas",
email: "Korrekt emailadress saknas"
}
});
};
});
マイ形式:
<form id='registerform' action='registeraccount.php' method='post'>
Ägare av konto</br>
* Förnamn: <input type='text' name='firstname' /> <br/>
* Efternamn: <input type='text' name='surname' /> <br/>
* Email: <input type='text' name='email' /> <br/>
* Telefon: <input type='text' name='phonenumber' /> <br/>
Företagsinformation: </br>
* Adress: <input type='text' name='address' /> <br/>
Adress: <input type='text' name='address2' /> <br/>
* Postnummer: <input type='text' name='zipcode' /> <br/>
* Ort: <input type='text' name='city' /> <br/>
<br/>
Kontoinformation</br>
<div id='username_message'></div>
* Användarnamn: <input id='username_ID' type='text' name='username' />
<br/>
Företagsinformation<br/>
* Företagsnamn (som kunden kommer se det): <input type='text' name='companyname' /> <br/>
Organisationsnummer: <input type='text' name='organisationnumber' /><br/>
<input id='submitaccountregistration' type='submit' value='Submit Comment' />
</form>
あなたが見ることができるようにフォームがロードされたとき、私は関数を呼び出し、新しい検証方法をロードする(addValMeth)を試してみました。変わりはない。私は、その機能を何の動作もせずにコメントしました。
カスタムルールがトリガーされない理由とその解決方法を教えてください。その他のルールはすべて正しく動作しています。