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 如何使用只读验证InputExtArea?_Jsf_Primefaces - Fatal编程技术网

Jsf 如何使用只读验证InputExtArea?

Jsf 如何使用只读验证InputExtArea?,jsf,primefaces,Jsf,Primefaces,我需要在PF对话框内部运行的primefaces PF向导中验证只读InputExtArea组件。在阅读了这里的许多线程之后,我决定使用InAuthidden组件来处理这个问题。然而,它正确地进行了验证,但是在inputText中输入一个值之后,单击commandButton,我注意到FooBean的applyName方法从未被调用。我相信这与JSF生命周期有关 我的目标是引入foo.applyName方法,这样foo.name将返回一个正确的值并进行计算,以便我可以单击向导中的“下一步”按钮

我需要在PF对话框内部运行的primefaces PF向导中验证只读InputExtArea组件。在阅读了这里的许多线程之后,我决定使用InAuthidden组件来处理这个问题。然而,它正确地进行了验证,但是在inputText中输入一个值之后,单击commandButton,我注意到FooBean的applyName方法从未被调用。我相信这与JSF生命周期有关

我的目标是引入foo.applyName方法,这样foo.name将返回一个正确的值并进行计算,以便我可以单击向导中的“下一步”按钮

在没有验证机制的情况下,foo.applyName确实将值字符串类型放入name属性中,我可以进入下一步

<p:panelGrid id="table">
  <p:inputTextarea readonly="true" value="#{foo.name}" />
  <h:inputHidden id="name" required="#{empty foo.name}" requiredMessage="missing name" />
  <p:message for="name" />
</p:panelGrid>

<h:inputText value="#{foo.someVar}" />
<p:commandButton value="Apply Missing Name" update="table" action="#{foo.applyName}" />

问题源于这样一个事实,即当您单击commandButton时,您正在提交inputText区域以及inputText。JSF发现您提交的空字段是必需的,不允许请求继续

有几种方法可以解决这个问题

为inputText指定一个id,并使用commandButton上的“process”属性指定要提交的字段,例如process=@this someVar 将inputExtArea和inputExt字段放在单独的表单中,这样applyName命令按钮就不会同时处理这两个字段。
啊……这对我来说很有意义。虽然我重新设计了它,使其工作,但我一定会尝试与您的建议。我相信它会奏效。让我核实一下,然后我会接受答案。谢谢你的时间和建议!