我有一个名为emai
的字段的表单有一个非常简单的验证required = true
。现在,当我点击按钮时,它会执行AJAX回调。我想知道无论如何在客户端进行验证而不调用服务器?
<h:form class="lfrm" id="lfrm">
<p:panel id="lpanel" header="Login">
<p:messages id="lmessages" showDetail="true" autoUpdate="true"/>
<h:panelGrid id="lgrid" columns="2" cellpadding="5">
<h:outputText value="Email: *" />
<p:inputText styleClass="email"
id="lemail"
value="#{Registration.user.email}"
required="true" requiredMessage="Email is required">
</p:inputText>
<p:commandButton process="lemail"
value="Sign in"
immediate="true"
validateClient="true"/>
</p:panel>
</h:form>
答案 0 :(得分:6)
在web.xml中添加以下配置
<context-param>
<param-name>primefaces.CLIENT_SIDE_VALIDATION</param-name>
<param-value>true</param-value>
</context-param>
此外,如果将ajax设置为false,则会发送组件所在的当前表单。即包含p:commandButton的表单。如果使用了ajax,请选择要处理的内容。使用以下标记将字段处理为命令按钮
<p:commandButton process="@form" ...... />