[
https://issues.apache.org/jira/browse/CLK-778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13247052#comment-13247052
]
Bob Schellink commented on CLK-778:
-----------------------------------
The standard for email address syntax is called RFC2822:
http://tools.ietf.org/html/rfc2822
To implement it correctly is not easy:
http://www.regular-expressions.info/email.html
Here is an article providing a more realistic implementation with explanations
of the tradeoffs:
http://ex-parrot.com/~pdw/Mail-RFC822-Address.html
Click's email validation is very lenient. We could improve it slightly by
ensuring only one '@' character and not more than two periods after the @ sign
or switch to a regular expression. My only concern with regex is what if valid
email addresses are not validate which would break backward compatibility?
We also need to keep in mind that we have both Java and JavaScript validation
that needs to be kept in sync with each other.
> EmailField Data Validation Is Insufficient
> ------------------------------------------
>
> Key: CLK-778
> URL: https://issues.apache.org/jira/browse/CLK-778
> Project: Click
> Issue Type: Bug
> Components: extras
> Reporter: Clint Lawrence
> Assignee: Naoki Takezoe
>
> In the Click Extras project, the current EmailField validation does not
> sufficiently limit user input to the format of an email address. As an
> example, I loaded the Avoka examples site and was able to successfully submit
> the following as an email address in the Extra Form Controls page:
> how.can@this@be@[email protected]
> For my own use I have extended EmailField with the following additional
> validation logic:
> private static final Pattern EMAIL_ADDRESS_REGEX_PATTERN =
> Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$",
> Pattern.CASE_INSENSITIVE);
> ...
> @Override
> public void validate() {
> super.validate();
> if
> (EMAIL_ADDRESS_REGEX_PATTERN.matcher(StringUtils.trimToEmpty(this.value)).matches())
> {
> this.setErrorMessage("email-format-error");
> }
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira