Jsf 如何使用只读验证InputExtArea?
我需要在PF对话框内部运行的primefaces PF向导中验证只读InputExtArea组件。在阅读了这里的许多线程之后,我决定使用InAuthidden组件来处理这个问题。然而,它正确地进行了验证,但是在inputText中输入一个值之后,单击commandButton,我注意到FooBean的applyName方法从未被调用。我相信这与JSF生命周期有关 我的目标是引入foo.applyName方法,这样foo.name将返回一个正确的值并进行计算,以便我可以单击向导中的“下一步”按钮 在没有验证机制的情况下,foo.applyName确实将值字符串类型放入name属性中,我可以进入下一步Jsf 如何使用只读验证InputExtArea?,jsf,primefaces,Jsf,Primefaces,我需要在PF对话框内部运行的primefaces PF向导中验证只读InputExtArea组件。在阅读了这里的许多线程之后,我决定使用InAuthidden组件来处理这个问题。然而,它正确地进行了验证,但是在inputText中输入一个值之后,单击commandButton,我注意到FooBean的applyName方法从未被调用。我相信这与JSF生命周期有关 我的目标是引入foo.applyName方法,这样foo.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命令按钮就不会同时处理这两个字段。
啊……这对我来说很有意义。虽然我重新设计了它,使其工作,但我一定会尝试与您的建议。我相信它会奏效。让我核实一下,然后我会接受答案。谢谢你的时间和建议!