1

私のxhtmlページにこのようなコードがあります

 <h:inputText    id="cardNumber"  
                 value="#{bean.cardNumber}" required="true" 
                 requiredMessage="Card Number Cannot be Blank" 
                 validatorMessage="Card Number must be 16 digits" 
                 maxlength="16" size="16" >   
        <f:validateLength  maximum="16" minimum="16" />   
        <f:validateRegex pattern="[0-9]*" for="cardNumber"/>
  </h:inputText>

上記の入力テキストについて、必須フィールドの検証、長さの検証、正規表現の検証の 3 種類すべての検証を行っています。

およびを検証するvalidatorMessageために定義したことを理解していますが、同じメッセージがスローされます。 and に対して 2 つの異なるメッセージをスローするには どうすればよい ですか?</h:inputText><f:validateLength/><f:validateRegex/><f:validateLength/><f:validateRegex/>

4

1 に答える 1

5

Messages.propertiesファイルを変更する必要があります

次のエントリを追加して変更します...

javax.faces.validator.LengthValidator.MAXIMUM = {1}: Validation Error: Length is greater than allowable maximum of ''{0}''
javax.faces.validator.LengthValidator.MINIMUM = {1}: Validation Error: Length is less than allowable minimum of ''{0}''

javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validation Error: Value not according to pattern ''{0}''
javax.faces.validator.RegexValidator.PATTERN_NOT_SET = A pattern must be set for validate.
javax.faces.validator.RegexValidator.MATCH_EXCEPTION = The pattern is not a valid regular expression.

完全なチュートリアルについては、これをご覧ください: JSF 2.0 での検証エラー メッセージのカスタマイズ

ここでは、JSF 2.0.x でオーバーライドできるすべての利用可能なメッセージの完全なリファレンスを示します。

于 2012-11-19T07:14:31.343 に答える