Anonymous avatar Anonymous committed 484c5ba

Change validator to only perform validation if string is non-empty.

git-svn-id: http://svn.opensymphony.com/svn/xwork/trunk@287 e221344d-f017-0410-9bd5-d282ab1896d7

Comments (0)

Files changed (1)

src/java/com/opensymphony/xwork/validator/validators/EmailValidator.java

 
 
 /**
- * EmailValidator checks that given field is a String and a valid email address.
- *
- * @author $Author$
- * @version $Revision$
+ * EmailValidator checks that a given String field, if not empty, is a valid email address.
  */
 public class EmailValidator extends FieldValidatorSupport {
     //~ Methods ////////////////////////////////////////////////////////////////
 
     public void validate(Object object) throws ValidationException {
         String fieldName = getFieldName();
-        Object value = this.getFieldValue(fieldName, object);
+        String value = (String) this.getFieldValue(fieldName, object);
 
-        // if there is no value - don't do comparison
-        // if a value is required, a required validator should be added to the field
         if (value == null) {
             return;
+        } else {
+            value = value.trim();
+
+            if (value.length() == 0) {
+                return;
+            }
         }
 
-        if (!(value instanceof String) || !TextUtils.verifyEmail((String) value)) {
+        if (!TextUtils.verifyEmail(value)) {
             addFieldError(fieldName, object);
         }
     }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.