要验证电子邮件,请使用JSF <f:validateRegex>
,并放置以下正则表达式。 这个正则表达式应该能够验证大多数电子邮件格式,并且我正在将其用于少数项目。
Email Regular Expression
^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$
PS有关详细说明,请参阅此如何使用正则表达式验证电子邮件地址 。
在本教程中,我们将向您显示一个简单的电子邮件输入,并使用<f:validateRegex>
进行验证。
使用的工具 :
- PrimeFaces 3.3
- JSF 2.2.11
- Eclipse 4.2
- Maven 3
- 雄猫7
1.电子邮件验证程序示例
如果电子邮件无效,则显示错误消息“无效的电子邮件格式”。
index.xhtml
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<f:facet name="last">
<h:outputStylesheet library="mytheme" name="css/style.css" />
</f:facet>
<h1>PrimeFaces email validator example</h1>
<div style="width: 500px">
<h:form>
<p:inputText id="email" required="true" label="email" size="40"
requiredMessage="Please enter your email address."
validatorMessage="Invalid email format"
value="#{userBean.email}">
<f:validateRegex
pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />
</p:inputText>
<p:watermark for="email" value="Email Address *" />
<p:message for="email" />
<p:commandButton value="test" style="margin:20px"
action="#{userBean.register}" ajax="false" />
</h:form>
</div>
</h:body>
</html>
UserBean.java – Do nothing, if email is ok, redirect to thanks page.
package com.mkyong;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name = "userBean")
@SessionScoped
public class UserBean {
String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String register() {
return "thanks?faces-redirect=true";
}
}
2.演示
http:// localhost:8080 / primefaces / index.jsf
如果电子邮件验证失败,则显示错误消息。
下载源代码
下载它– primefaces-email-validator-example.zip (11 KB)
参考文献
翻译自: https://mkyong.com/jsf2/primefaces/primefaces-jsf-email-validator-example/