|
From: <hib...@li...> - 2006-06-15 19:07:14
|
Author: epbernard
Date: 2006-06-15 15:07:03 -0400 (Thu, 15 Jun 2006)
New Revision: 10021
Added:
trunk/HibernateExt/metadata/src/test/org/hibernate/lucene/
Modified:
trunk/HibernateExt/metadata/src/java/org/hibernate/validator/EmailValidator.java
trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/EmailTest.java
Log:
ANN-375 fix email chacking compliant with RFC
Modified: trunk/HibernateExt/metadata/src/java/org/hibernate/validator/EmailValidator.java
===================================================================
--- trunk/HibernateExt/metadata/src/java/org/hibernate/validator/EmailValidator.java 2006-06-15 16:38:03 UTC (rev 10020)
+++ trunk/HibernateExt/metadata/src/java/org/hibernate/validator/EmailValidator.java 2006-06-15 19:07:03 UTC (rev 10021)
@@ -10,6 +10,9 @@
* @author Emmanuel Bernard
*/
public class EmailValidator implements Validator<Email>, Serializable {
+ private static String ATOM = "[^\\x00-\\x1F^\\(^\\)^\\<^\\>^\\@^\\,^\\(;^\\:^\\\\^\\\"^\\.^\\[^\\]^\\s]";
+ private static String DOMAIN = "(" + ATOM + "+(\\." + ATOM + "+)*";
+ private static String IP_DOMAIN = "\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\]";
private java.util.regex.Pattern pattern;
@@ -26,5 +29,13 @@
"^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*$",
java.util.regex.Pattern.CASE_INSENSITIVE
);
+ pattern = java.util.regex.Pattern.compile(
+ "^" + ATOM + "+(\\." + ATOM + "+)*@"
+ + DOMAIN
+ + "|"
+ + IP_DOMAIN
+ + ")$",
+ java.util.regex.Pattern.CASE_INSENSITIVE
+ );
}
}
Modified: trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/EmailTest.java
===================================================================
--- trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/EmailTest.java 2006-06-15 16:38:03 UTC (rev 10020)
+++ trunk/HibernateExt/metadata/src/test/org/hibernate/validator/test/EmailTest.java 2006-06-15 19:07:03 UTC (rev 10021)
@@ -17,7 +17,13 @@
isRightEmail( "emmanuel@hibernate" );
isRightEmail( "emma-n_uel@hibernate" );
isWrongEmail( "emma nu...@hi..." );
+ isWrongEmail( "emma(nu...@hi..." );
isWrongEmail( "emmanuel@" );
+ isRightEmail( "emm...@hi..." );
+ isRightEmail( "emm...@hi..." );
+ isWrongEmail( "emma\nn...@hi..." );
+ isWrongEmail( "emma@nu...@hi..." );
+ isRightEmail( "emmanuel@[123.12.2.11]" );
}
private void isRightEmail(String email) {
|