暂时禁用JSF验证

时间:2012-02-15 09:51:44

标签: validation jsf

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>

1 个答案:

答案 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(即整个当前表单)。

另见: