2012-05-02 23 views
16

検証が失敗したときに表示される検証メッセージをカスタマイズするにはどうすればよいですか?JSF検証エラーメッセージのカスタマイズ方法

<h:form> 
    <p><h:inputText 
      id="userNo" 
      title="Type a number from 0 to 10:"> 
     <f:validateLongRange 
      minimum="3" 
      maximum="6"/> 
     </h:inputText> 

     <h:commandButton id="submit" value="Submit" 
      action="response"/> 
    </p> 
    <h:message showSummary="true" showDetail="false" 
     id="errors1" 
     for="userNo"/> 
</h:form> 

は、現在のメッセージは次のようになります:

j_idt10:userNo: Validation Error: Specified attribute is not between the expected values of 3 and 6. 

特にユーザーフレンドリーではありません。ここ

は、私が持っているコードです。

答えて

37

最も簡単な方法は、<h:inputText>タグのvalidatorMessage="my custom message"属性を設定することです。エラーからのクライアントID(j_idt10:userNo:)を除去するためにあなたが常にあなたの入力コンポーネントにlabel属性を使用することができダニエルの答えに加えて、この記事Customize validation error message in JSF 2.0

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

+0

属性に何か「オンザフライ」というメッセージを設定する方法がないことは驚きです。うん... – Eleeist

+0

ありがとう、私の答えを編集... – Daniel

+2

これは間違いなく理にかなっています。しかし、入力に複数のバリデータが添付されていて、それぞれのメッセージをカスタマイズしたいのですが? – Eleeist

9

を読んで、より高度な方法については

メッセージ。

など。

<h:inputText id="userNo" title="Type a number from 0 to 10:" 
      label="User number"> 
    <f:validateLongRange 
      minimum="3" 
      maximum="6"/> 
</h:inputText> 

で生成されます。

User number: Validation Error: Specified attribute is not between the expected values of 3 and 6.

をlabel属性は、動的エラーメッセージのこの部分を変更するだけでなく、EL式を指定できます。

3

入力テキストのvalidatorMessageプロパティを使用できます。必要なメッセージにrequiredMessageプロパティを使用します。バリデータメッセージとは異なります。

<h:input text required ="true" validatorMessage="Enter user friendly message"> 
    <f:validateLongRange 
     minimum="3" 
     maximum="6"/> 
</h:inputText> 
+2

任意の説明 – tod

+0

説明が追加されました – omerhakanbilici

関連する問題