Pour valider un courrier électronique, utilise JSF
<f: validateRegex>
et met l’expression régulière suivante. Cette expression rationnelle devrait pouvoir valider la plupart du format de courrier électronique et je l’utilise pour quelques projets.
Email Regular Expression
^[__A-Za-z0-9-\+]+(\.[__A-Za-z0-9-]+)** @[A-Za-z0-9-]+(\.[A-Za-z0-9]+)** (\.[A-Za-z]{2,})$
P.S Pour des explications plus détaillées, reportez-vous à ce lien://expressions-régulières/comment-valider-une-adresse-email-avec-expression-régulière/[comment valider une adresse email avec une expression régulière].
Dans ce didacticiel, nous allons vous montrer une simple entrée de courrier électronique et utiliser
<f: validateRegex>
pour le valider.
Les outils utilisés :
-
PrimeFaces 3.3
-
JSF 2.2.11
-
Eclipse 4.2
-
Maven 3
-
Tomcat 7
1. Exemple de validateur de courrier électronique
Si le courrier électronique n’est pas valide, affichez le message d’erreur «Format de courrier électronique non valide».
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 - Ne faites rien, si le courrier électronique est correct, redirigez-le vers la page de remerciement.
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. Démo
http://localhost : 8080/primefaces/index.jsf
Affiche un message d’erreur si la validation du courrier électronique a échoué.
Télécharger le code source
Téléchargez-le - lien://wp-content/uploads/2012/10/primefaces-email-validator-example.zip[primefaces-email-valid-example.zip](11 Ko)
Références
-
link://expressions-régulières/comment-valider-adresse-email-avec-expression-régulière/[Valider
adresse e-mail avec regex]. http://www.regular-expressions.info/regexbuddy/email.html [Another
excellent email regex exemple]
lien://tag/email/[email]lien://tag/primefaces/[primefaces] regex