1

UIInput のバインディングを介して Bean 検証を介して割り当てられた検証エラー メッセージにアクセスできるかどうか疑問に思っていました。

たとえば、次のプロパティがあります。

@NotNull(message = "{username_required}")
private String username;

h:message を使用してエラーを出力すると、適切なメッセージが出力されるので、Bean Validation が正しく機能していることがわかります。次のように、h:message タグなしでメッセージを出力し、値をツールチップに直接提供したいと思います。

 <p:tooltip for="usernameErrorImage" rendered="#{!usernameInputBinding.valid}" 
     value="#{!usernameInputBinding.requiredMessage}"/>

「rendered」属性は期待どおりに機能しますが、ツールチップの値は「true」です。これは私のメッセージではありません。「convertedMessage」と「requiredMessage」も試しましたが、どちらも文字列「true」を返します。ツールチップ タグ内に h:message を配置すると、メッセージが出力されますが、バインディングを介して検証メッセージに直接アクセスできるかどうかを知りたいです。

4

2 に答える 2

0

ツールチップ内にメッセージをネストできます。これはPrimefaces 4でうまくいきました。

豆:

@NotNull(message = "{username_required}")
private String username;

xhtml:

<p:tooltip for="usernameErrorImage">
    <p:message for="usernameErrorImage" />
</p:tooltip>
于 2014-02-07T11:23:35.527 に答える