【发布时间】:2012-11-05 20:38:33
【问题描述】:
我有一个 bean 验证根据:
@Min(value = 0)
@Max(value = 1000000)
private int kilometres;
在我的 facelet 中,我有:
<p:messages autoUpdate="true" showDetail="true" showSummary="true" />
<p:outputLabel for="kilometres" value="Kilometres" />
<p:inputText id="kilometres" value="#{bean.vehicle.kilometres}">
<p:ajax event="change" />
</p:inputText>
当我拥有它时,它工作正常,除了将显示所有字段 ID 的所有消息。我想为每个字段指定,如下所示:
<p:messages for="kilometres" autoUpdate="true" showDetail="true" showSummary="true" />
但是,当我添加 for="kilometres" 选项时,不会显示任何验证消息。我错过了什么还是一个错误?
最好的问候
【问题讨论】:
-
您使用的是什么版本的 primefaces?
-
你的backing bean是什么范围?
-
<p:message/>工作了吗?您仍然无法显示单独的验证消息吗? -
感谢您的支持。我运行 Mojarra 2.1.6 和 PrimeFaces 3.4.1。 p:message for="kilometres" 有效,但 p:messages for="kilometres" 无效,并且只有 1 个字段。很奇怪。最后使用 p:growl,这就像一个魅力。编辑:我正在使用 SessionScoped 范围
-
我用一个使用组件特定
p:messages的示例更新了我的答案。我想这就是你真正想要的。
标签: jsf primefaces bean-validation