大家。我的页面上有很少的复合组件,验证失败后,每个组件都会在其中添加自己的验证消息。 我在http://docs.oracle.com/cd/E28271_01/web.1111/e28163/af_message.htm的17.4中找到了所需的能力,也许有人知道用Primefaces制作它的方法吗?
提前致谢!( - :
答案 0 :(得分:0)
这个问题的解决方案很少。
那个在Link an error message to multiple UIComponent in JSF2中描述但对我不起作用的那个,因为我有六个相同的复合成分。
与最后一个组件的验证相同,但使用
<h:inputHidden id=''datecheck" validator="#{bb.validateSomeThing}"value="needed"/>
应该放在所有组件之后。
我的解决方案是
<h:panelGrid id="example">
<f:event type="postValidate" listener="#{testBean.inputValidation}"/>
<p:column>
<my:compositeComponent param1="#{x.a[0]}" param2="#{y]}" update="#{something}" readonly="#{not editAccess}"/>
</p:column>
<p:column>
<my:compositeComponent param1="#{x.a[1]}" param2="#{y]}" update="#{something}" readonly="#{not editAccess}"/>
</p:column>
<p:column>
<my:compositeComponent param1="#{x.a[2]}" param2="#{y]}" update="#{something}" readonly="#{not editAccess}"/>
</p:column>
...
</h:panelGrid>
有关详情,建议您阅读Core JavaServer Faces (3rd Edition)
第7章验证多个组件之间的关系和第8章多组件验证可能很有用。