Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf Omnifaces validateMultiple组件只接受UIInput值,是否也有考虑UIOutput的变通方法?_Jsf_Jsf 2_Primefaces_Omnifaces - Fatal编程技术网

Jsf Omnifaces validateMultiple组件只接受UIInput值,是否也有考虑UIOutput的变通方法?

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

所以,我有一个地址要验证,它有4个输入字段和4个输出字段,基本上4个输出字段是市、州、县和市。它们不可编辑,因此它们将仅由zipCode查找填充。但是当我进行验证时,我需要传入所有的值,也包括查找值。
只接受输入组件值,因此我尝试将它们也设置为
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,它非常有用,你们真的很荣幸:)