使用 PrimeFaces 进行验证

Validation with PrimeFaces

我有一个表单,其中有一个名为 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>

在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" ...... />