1 /* 2 * JBoss, Home of Professional Open Source 3 * Copyright 2014, Red Hat, Inc. and/or its affiliates, and individual 4 * contributors by the @authors tag. See the copyright.txt in the 5 * distribution for a full listing of individual contributors. 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.jboss.as.quickstart.hibernate3.util; 18 19 import java.util.regex.Matcher; 20 import java.util.regex.Pattern; 21 22 import javax.faces.application.FacesMessage; 23 import javax.faces.component.UIComponent; 24 import javax.faces.context.FacesContext; 25 import javax.faces.validator.Validator; 26 import javax.faces.validator.ValidatorException; 27 28 public class ValidateEmail implements Validator { 29 30 @Override 31 public void validate(FacesContext facesContext, UIComponent uiComponent, Object emailObject) throws ValidatorException { 32 String emailAddress = (String) emailObject; 33 /* 34 * //Make sure it's not empty if (((String) emailAddress).isEmpty()) { FacesMessage facesMessage = new FacesMessage(); 35 * facesMessage.setSummary("Email address is required."); facesMessage.setDetail("Email address is required."); 36 * facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR); facesContext.addMessage("reg:email", facesMessage); throw new 37 * ValidatorException(facesMessage); } 38 */ 39 // They entered something. Now do a simple validation. We won't worry about all variations. 40 Pattern emailPattern = Pattern.compile("[a-zA-Z]*[0-9]*@[a-zA-Z]*.[a-zA-Z]*"); 41 Matcher emailMatcher = emailPattern.matcher(emailAddress); 42 if (!emailMatcher.matches()) { 43 FacesMessage facesMessage = new FacesMessage(); 44 facesMessage.setSummary("Email address is is not valid."); 45 facesMessage.setDetail("Email address is not valid."); 46 facesMessage.setSeverity(FacesMessage.SEVERITY_ERROR); 47 facesContext.addMessage("reg:email", facesMessage); 48 throw new ValidatorException(facesMessage); 49 50 } 51 } 52 53 }