Jsf Primefaces消息“;至于;参数不适用于bean验证

Jsf Primefaces消息“;至于;参数不适用于bean验证,jsf,primefaces,bean-validation,Jsf,Primefaces,Bean Validation,我有一个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

我有一个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=“km”选项时,不会显示任何验证消息。我是错过了什么还是一个错误

致以最诚挚的问候

使用
组件分别显示每个输入组件的验证消息:

<p:outputLabel for="kilometres" value="Kilometres" />
<p:inputText id="kilometres" value="#{bean.vehicle.kilometres}">
    <p:ajax/>
</p:inputText>
<p:message for="kilometres"/>
使用
组件分别显示每个输入组件的验证消息:

<p:outputLabel for="kilometres" value="Kilometres" />
<p:inputText id="kilometres" value="#{bean.vehicle.kilometres}">
    <p:ajax/>
</p:inputText>
<p:message for="kilometres"/>

您正在使用什么版本的primefaces?您的支持bean的作用域是什么?是否工作了?您在显示单独的验证消息时仍然有问题吗?谢谢您的支持。我运行Mojarra 2.1.6和PrimeFaces 3.4.1。p:messages for=“km”正在工作,但p:messages for=“km”没有工作,并且只有1个字段。很奇怪。最后使用了p:growl,这就像一个符咒。编辑:我正在使用SessionScopei更新我的答案,并使用一个使用特定于组件的
p:messages
的示例。我想这就是您真正想要的。您使用的是什么版本的primefaces?您的支持bean的作用域是什么?工作正常吗?您在显示单独的验证消息时仍然有问题吗?谢谢您的支持。我运行Mojarra 2.1.6和PrimeFaces 3.4.1。p:messages for=“km”正在工作,但p:messages for=“km”没有工作,并且只有1个字段。很奇怪。最后使用了p:growl,这就像一个符咒。编辑:我正在使用SessionScopei更新我的答案,并使用一个使用特定于组件的
p:messages
的示例。我想这才是你真正想要的。嗨,阿科斯!谢谢你的支持!这是可行的,但这迫使我在模型或模型中的每个字段周围实现一个包装器。目前,我的“bean”中只有“vehicle”字段私家车;+塞特和盖特。就这样。你如何解决这个问题?再次感谢=)如果这对原来的问题有效,我建议你将这篇文章标记为答案。您还应该就您当前的问题提出一个新的问题,讨论应该继续进行。我应该声明,显式创建新的FacesMessage没有任何问题,我想做的是只使用facelet页面和带有bean验证注释的字段的bean。没有别的了。无论如何谢谢=)@kungcc您完全可以只使用注释进行简单的验证并提供自定义消息,如
@NotNull(message=“此值可能不为null”)
。看,你好,阿科斯!谢谢你的支持!这是可行的,但这迫使我在模型或模型中的每个字段周围实现一个包装器。目前,我的“bean”中只有“vehicle”字段私家车;+塞特和盖特。就这样。你如何解决这个问题?再次感谢=)如果这对原来的问题有效,我建议你将这篇文章标记为答案。您还应该就您当前的问题提出一个新的问题,讨论应该继续进行。我应该声明,显式创建新的FacesMessage没有任何问题,我想做的是只使用facelet页面和带有bean验证注释的字段的bean。没有别的了。无论如何谢谢=)@kungcc您完全可以只使用注释进行简单的验证并提供自定义消息,如
@NotNull(message=“此值可能不为null”)
。看见