Main Tutorials

PrimeFaces + JSF Email validator example

To validate email, uses JSF <f:validateRegex>, and puts following regular expression. This regex should be able to validates most of the email format, and I’m using it for few projects.

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 For detail explanation, refer to this how to validate email address with regular expression.

In this tutorial, we will show you a simple email input, and uses <f:validateRegex> to validate it.

Tools used :

  1. PrimeFaces 3.3
  2. JSF 2.2.11
  3. Eclipse 4.2
  4. Maven 3
  5. Tomcat 7

1. Email Validator Example

If email is invalid, display error message “Invalid email format”.

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. Demo

http://localhost:8080/primefaces/index.jsf

email validator with regex

Display error message if email validation is failed.

Download Source Code

Download it – primefaces-email-validator-example.zip (11 KB)

References

  1. Validate email address with regex
  2. Another great email regex example

About Author

author image
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities.

Comments

Subscribe
Notify of
8 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
Taha Shah
8 years ago

THANKS A LOT DUDE.

Nacho
9 years ago

Thanks, works perfectly, but not show me now the validatorMessage; at first it towards, but not anymore. Why can it be? Excuse my english.

GeoKlar
10 years ago

Thank you. Just I need.

http://Alisopriona.Webspawner.Com
10 years ago

I tend not to leave a ton of remarks, however i did some searching
and wound up here PrimeFaces + JSF Email validator example.
And I do have a couple of questions for you if you don’t mind. Could it be simply me or does it look as if like some of the responses come across like left by brain dead individuals? 😛 And, if you are writing on additional online social sites, I’d like
to follow anything new you have to post. Could you list of all of all your community pages
like your Facebook page, twitter feed, or linkedin profile?

Arturo
10 years ago

Thanks friend for the help, I was needing it, greets from Colombia, excuse my english

Jorge Gomes
11 years ago

I have a inputText for email, but this is not requierd, . Can i only validate if thera ara anything wite??

neossoftware
10 years ago
Reply to  Jorge Gomes

Jorge, right only remove required=”true”.

regards

Raul
2 years ago
Reply to  neossoftware

Not working, another idea?

And how Can I change the message?