Jsf 在p:工具提示中显示@NotNull消息

Jsf 在p:工具提示中显示@NotNull消息,jsf,bean-validation,messages,Jsf,Bean Validation,Messages,我想知道是否可以通过UIInput的绑定访问通过Bean验证分配的验证错误消息 例如,我有以下属性: @NotNull(message = "{username_required}") private String username; 当我使用h:message打印错误时,我会打印出相应的消息,因此我知道Bean验证工作正常。我想打印不带h:message标记的消息,将值直接提供给工具提示,如下所示: <p:tooltip for="usernameErrorImage" render

我想知道是否可以通过UIInput的绑定访问通过Bean验证分配的验证错误消息

例如,我有以下属性:

@NotNull(message = "{username_required}")
private String username;
当我使用h:message打印错误时,我会打印出相应的消息,因此我知道Bean验证工作正常。我想打印不带h:message标记的消息,将值直接提供给工具提示,如下所示:

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


“rendered”属性按预期工作,但是工具提示的值为“true”,这不是我的消息。我还尝试了“convertedMessage”和“requiredMessage”,但它们都返回字符串“true”。将h:message放在工具提示标签内会打印出消息,但是我想知道是否可以通过绑定直接访问验证消息。

前提是您有一个
ValidationMessages.properties
,其中包括
用户名\u所需的
条目,只需使用
在JSF视图中将其作为资源包加载

<f:loadBundle basename="ValidationMessages" var="validationMessages" />
...
<p:tooltip ... value="#{validationMessages['username_required']}"/>

...

在初始尝试中抓取组件的
requiredMessage
属性肯定不起作用,因为它只返回手动定义的
requiredMessage
属性。

您可以将消息嵌套在工具提示中。 这在Primefaces 4中对我有效

豆子:

xhtml:

<p:tooltip for="usernameErrorImage">
    <p:message for="usernameErrorImage" />
</p:tooltip>


您在其中放置了一个布尔否定条件,如
{!foo}
中所示,您想知道它为什么返回
true
?难道你没有想到你必须删除
为了不使其成为布尔否定?在任何情况下,我都不知道您在问什么,但听起来好像您希望bean验证消息通过
requiredMessage
属性可用。事实并非如此。它将只返回您在
中明确设置的
requiredMessage
属性,该属性仅与
required=“true”
@BalusC Ty组合使用,用于响应Balus。我不知道那个感叹号是怎么进来的,有点晚了。是的,我想以某种方式访问bean验证消息。H:消息必须从某个地方读取,我希望该值可以通过绑定访问。是这样吗?
<p:tooltip for="usernameErrorImage">
    <p:message for="usernameErrorImage" />
</p:tooltip>