Jsf Omnifaces validateMultiple组件只接受UIInput值,是否也有考虑UIOutput的变通方法?
所以,我有一个地址要验证,它有4个输入字段和4个输出字段,基本上4个输出字段是市、州、县和市。它们不可编辑,因此它们将仅由zipCode查找填充。但是当我进行验证时,我需要传入所有的值,也包括查找值。Jsf Omnifaces validateMultiple组件只接受UIInput值,是否也有考虑UIOutput的变通方法?,jsf,jsf-2,primefaces,omnifaces,Jsf,Jsf 2,Primefaces,Omnifaces,所以,我有一个地址要验证,它有4个输入字段和4个输出字段,基本上4个输出字段是市、州、县和市。它们不可编辑,因此它们将仅由zipCode查找填充。但是当我进行验证时,我需要传入所有的值,也包括查找值。 只接受输入组件值,因此我尝试将它们也设置为h:inputText,然后设置为disabled=true,因为它们不可编辑,但看起来好像也忽略了禁用的输入组件的值。那么,还有其他选择吗 最初,我使用f:attributes在第一个inputText组件上嵌入所有ID和各自的绑定,并使用JSF val
只接受输入组件值,因此我尝试将它们也设置为h:inputText
,然后设置为disabled=true
,因为它们不可编辑,但看起来好像
也忽略了禁用的输入组件的值。那么,还有其他选择吗
最初,我使用f:attributes
在第一个inputText组件上嵌入所有ID和各自的绑定,并使用JSF validator获取getAttributes并以这种方式进行验证,效果很好,但由于validateMultiple减少了很多,所以我想使用它,但看起来它不是很简单
像这样的事情可能会有所帮助:
<o:validateMultiple id="myId" components="foo bar baz" validator="#{bean.validateValues}" />
<h:message for="myId" />
<h:inputText id="foo" />
<h:inputText id="bar" />
<h:inputText id="baz" />
public boolean validateValues(FacesContext context, List<UIComponent> components, List<Object> values) {
// ...
}
公共布尔ValidateValue(FacesContext上下文、列表组件、列表值){
// ...
}
感谢您的帮助!
谢谢 如果您需要隐藏的输入,请使用
。这样做很有效,但仍然使用UIComponent而不仅仅是UIInput会很有帮助。谢谢!另外,即使我没有指定任何消息属性,它仍然抛出默认值,我如何抑制它?注:我刚开始使用OmniFaces,它非常有用,你们真的很荣幸:)