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