A有许多必需的输入和验证。一些命令按钮控制不同的输入。
我可以使用<f:param>
的值更改所需的attibrute。例如,当单击按钮时,它会设置一个值。如果需要输入,则此值会更改。像这样:
<p:commandButton>
<f:param name="button1" value="1"></f:param>
</p:commandButton>
<h:inputText required="#{param['button1'] == 1}"></h:inputText>
这实际上有效。但是我还想添加一些类似最大长度的问题。我想暂时更改此验证。
我试图禁用valitadion,但我没有工作:
<f:validateLength disabled="true" maximum="10"></f:validateLength>
答案 0 :(得分:2)
您似乎已经在使用JSF 2.x.因此,只需使用<f:ajax execute>
或<p:commandButton process>
来指定按下按钮时要执行/处理的组件的客户端ID。所有未包含在此中的组件都将被忽略,不会被转换/验证。
E.g。
<h:inputText id="input1" ... required="true" />
<h:inputText id="input2" ... required="true" />
<h:inputText id="input3" ... required="true" />
<h:inputText id="input4" ... required="true" />
<p:commandButton value="Submit inputs 1 and 2" process="input1 input2" ... />
<p:commandButton value="Submit inputs 3 and 4" process="input3 input4" ... />
如果是<p:commandButton>
,则默认为@form
(即整个当前表单)。