2015-09-24 149 views
1

我使用下面的代碼來驗證傳真號碼字段在我qform驗證郵政編碼字段中qform

if(objFormEdit.postalCode.defaultValue.length <=5){ 
      objFormEdit.postalCode.validateFormat('xxxxx','numeric', "Postal Code requires either a 5 or 9-digit number in either the format 'xxxxx' or 'xxxxx-xxxx'."); 
     } 
     else{ 
      objFormEdit.postalCode.validateFormat('xxxxx-xxxx','numeric', "Postal Code requires either a 5 or 9-digit number in either the format 'xxxxx' or 'xxxxx-xxxx'."); 
     } 

其工作正常,但當我進入1234-12345那麼它改變它12341-2345和不顯示任何錯誤。爲什麼它發生。我也想在這種情況下的錯誤消息。

+0

什麼是'validateFormat'功能? –

+0

您是否真的使用郵政編碼來存儲傳真號碼,或者那是錯誤? –

+0

我的錯只是郵政編碼 –

回答

0

在qforms中使用自定義函數如下,它解決了我的問題。

function __isValidPostalCode() 
     { 
       var regx="^[0-9]{5}(?:-[0-9]{4})?$"; 
       var regxObj = new RegExp(regx); 
       if(regxObj.test(this.value) == false) 
       { 
        this.error = "Postal Code requires either a 5 or 9-digit number in either the format 'xxxxx' or 'xxxxx-xxxx'."; 
       } 
     } 

加載功能

_addValidator("isValidPostalCode", __isValidPostalCode); 

稱之爲如下

objFormEdit.postalCode.validateValidPostalCode();