2009-08-26 19 views
0

調用我有這樣的一個字段:驗證僅當被指定的輸入值

<h:inputText id="email" value="#{user.user.email}" 
      title="Email" validator="#{user.user.validateEmail}" /> 

validateEmail方法檢查的電子郵件地址的長度爲大於0,如果不是,它引發Exception。我認爲這會起作用,但只有在輸入值時才調用該方法。爲什麼?

回答

4

如果該字段爲空,則不會調用驗證程序。如果您需要值,請將控件的必需屬性設置爲true。

+0

但是所以我不能改變默認的錯誤信息,除非我使用Bundles/Custom validator類,對吧? – 2009-08-26 17:08:29

+0

是的,你需要一個自定義的消息包。您將不需要自定義驗證器來覆蓋所需的消息。如果您在faces-config.xml中提供了自定義套件,那麼在該套件中,您可以將相應的屬性(即,javax.faces.component.UIInput.REQUIRED)屬性設置爲您的消息。我相信這可能是一個1.2的功能。 – digitaljoel 2009-08-26 17:32:14