2015-06-06 59 views
0

我有一個表格,其中填充了來自數據庫的數據,因爲我需要根據新的數據格式模式更改電話號碼,所以我還需要立即啓動預填充輸入字段的驗證。如何使用jQuery驗證驗證預先填充的輸入字段?

我的JS代碼如下:

$.validator.addMethod("mobileHR", function(phone_number, element) { 
    phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); 
    return this.optional(element) || phone_number.length > 9 && 
     phone_number.match(/^\+[0-9]{1,3}\.[0-9]{1,14}$/); 
}, "Unesite broj u fromatu: +385.111234567"); 

和函數調用:

方法根據新模式驗證HR的電話號碼

$(document).ready(function() { 
    // initialize validation 
    $('.form-horizontal').validate({ 
     // set immediate validation, on event code 9 
     onkeyup: function (element, event) { 
      if (event.which === 9 && this.elementValue(element) === "") { 
       return; 
      } else { 
       this.element(element); 
      } 
     }, 
     rules: { 
      "contactdetails[Registrant][Phone]": { 
       required: true, 
       mobileHR: true 
      } 
     }, 
     messages: { 
      "contactdetails[Registrant][Phone]": { 
       required: "Molimo unesite broj telefona" 
      } 
     } 
    }); 

}); 

輸入字段是這樣的,並且數據從數據庫中獲取時,value參數已被填充。

<div class="controls"> 
<input kl_virtual_keyboard_secure_input="on" name="contactdetails[Registrant][Phone]" value="011123456" size="30" class="Registrantcustomwhois" type="text"> 
</div> 

現在,我想提醒用戶編輯數據,即使他並沒有改變所需的輸入域的數據,來更新他的電話號碼的格式,所以我基本上要在調用的validate()函數文件已被加載。

帶着例子的小提琴是here

+1

所以你只是想表明的形式負載驗證消息? –

回答

2

將驗證規則放在jQuery的準備好之後,只需添加$('.form-horizontal').valid();即可驗證表單。

Fiddle,相應的更新

+0

謝謝,我現在看到有方法有效() –

+1

不客氣:) –