2012-04-09 240 views
0

我驗證輸入字段在驗證我使用正則表達式和最小長度和最大長度的時間,JSF驗證消息

<h:inputText id="txtInput" 
        value="#{bean.name}" 
        validatorMessage="Please enter valid name" 
        maxlength="40" label="Name"> 
       <f:validateLength minimum="2" maximum="40" /> 
       <f:validateRegex pattern="[- 'a-zA-Z]*"/> 
      </h:inputText> 

以我validation.properties:

javax.faces.validator .LengthValidator.MINIMUM =請輸入最少{0}個字母字符 您的{1} 在這裏,我在驗證郵件中遇到問題,顯示它始終顯示「請輸入有效名稱」,但未顯示javax.faces.validator .LengthValidator.MINIMUM。

回答

0

取出validatorMessage="Please enter valid name"inputText

,並添加(修改)

javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validation Error: Value not according to pattern ''{0}'' 

validation.properties

那的路你都驗證將通過自定義消息覆蓋...

BTW,here a complete Reference to all available message that you can override in JSF 2.0.x

+0

嗨丹尼爾,感謝您的迴應,如果我刪除,然後我有一些更多的驗證在我的項目即請只輸入字母數字字符的描述或請只輸入名稱的字母字符。我的驗證消息是不同的正則表達式驗證,如果我添加RegexValidator.NOT_MATCHED = {1}:驗證錯誤:值不符合模式「{0}」,那麼我將只得到這個消息所有正則表達式驗證 – user1166528 2012-04-10 03:28:30

+0

你在談論這個特定的 Daniel 2012-04-10 05:13:32