1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.myfaces.custom.emailvalidator;
20
21 import javax.faces.application.FacesMessage;
22 import javax.faces.component.UIComponent;
23 import javax.faces.context.FacesContext;
24 import javax.faces.validator.ValidatorException;
25
26 import org.apache.commons.validator.GenericValidator;
27 import org.apache.myfaces.validator.ValidatorBase;
28
29
30 /**
31 * A custom validator for email address format, based upons Jakarta Commons.
32 *
33 * Unless otherwise specified, all attributes accept static values or EL expressions.
34 *
35 * @JSFValidator
36 * name = "t:validateEmail"
37 * tagClass = "org.apache.myfaces.custom.emailvalidator.ValidateEmailTag"
38 * serialuidtag = "6041422002721046221L"
39 * @since 1.1.7
40 * @deprecated use myfaces commons mcv:validateEmail instead
41 * @author mwessendorf (latest modification by $Author: lu4242 $)
42 * @version $Revision: 691856 $ $Date: 2008-09-03 21:40:30 -0500 (Wed, 03 Sep 2008) $
43 */
44 public class EmailValidator extends ValidatorBase {
45
46 /**
47 * <p>The standard converter id for this converter.</p>
48 */
49 public static final String VALIDATOR_ID = "org.apache.myfaces.validator.Email";
50 /**
51 * <p>The message identifier of the {@link FacesMessage} to be created if
52 * the maximum length check fails.</p>
53 */
54 public static final String EMAIL_MESSAGE_ID = "org.apache.myfaces.Email.INVALID";
55
56 public EmailValidator(){
57 }
58
59 /**
60 * methode that validates an email-address.
61 * it uses the commons-validator
62 */
63 public void validate(
64 FacesContext facesContext,
65 UIComponent uiComponent,
66 Object value)
67 throws ValidatorException {
68
69
70 if (facesContext == null) throw new NullPointerException("facesContext");
71 if (uiComponent == null) throw new NullPointerException("uiComponent");
72
73 if (value == null)
74 {
75 return;
76 }
77 if (!GenericValidator.isEmail(value.toString().trim())) {
78 Object[] args = {value.toString()};
79 throw new ValidatorException(getFacesMessage(EMAIL_MESSAGE_ID, args));
80 }
81
82 }
83
84 }