使用 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" ...... />
我有一个表单,其中有一个名为 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" ...... />