JSF支持方法和表单验证

时间:2018-10-04 09:06:12

标签: validation jsf primefaces

<h:commandButton value="#{msg.signupbutton}" id="registernewuser"
    action="registernewuser" execute="@form" update="reg"
    style="color:white;background-image:none;background-color:#69A74E;" />
</h:panelGrid>

<h:outputLabel for="email" value="#{msg.emailLabel}: *" />
<p:inputText id="email" value="#{userBean.emailaddr}"
    required="true" label="Email" validatorMessage="Invalid Email"
    maxlength="32" match="emailtwo" >
    <f:validateRegex
        pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"></f:validateRegex>
</p:inputText>
<h:message for="email" style="color:red"/>

<h:outputLabel for="emailtwo"
    value="#{msg.confirmemailLabel}: *" />
<p:inputText id="emailtwo" label="Confirm Email"
    value="#{userBean.emailTwo}" required="true"
    requiredMessage="Email is required" maxlength="32" />
<h:message for="emailtwo" style="color:red"/>

您好,我有此表单,需要检查第二封电子邮件inputtext字段是否与第一封电子邮件inputtext字段相同。有点像素数中的密码匹配。

在第一次提交时,如果其他inputtext字段(例如用户名)中存在错误,则将完成用户名验证,并且将不运行后备方法registernewuser

如果其他字段中没有验证错误,但仅emailTwo与电子邮件中的验证错误不匹配,则将运行方法registernewuser,验证错误将显示在表单上。 / p>

即使其他字段有错误,是否有办法让registernewuser被执行?我想在首次提交表单时显示错误消息“确认电子邮件与第一封电子邮件不同”。

Primefaces 3.4.2 JSF:2.1.29

0 个答案:

没有答案