Как обеспечить проверку электронной почты в соответствии с новым TLD
Я использую весеннюю проверку:
@NotNull
@Size(max = 128, min = 6)
@Email
private String username;
Но я хочу убедиться, что новые TLD соблюдаются. Spring даже смотрит на TLD домена электронной почты и гарантирует, что они соблюдаются?
Просто для примера: я хочу проверить следующее: joe@emperor.clothing
1 ответ
Что именно вы после? Что вы имеете в виду с:
Но я хочу убедиться, что новые TLD соблюдаются
@Email
является Hibernate Validator, предоставленным ограничением Bean Validation, которое проверит, соответствует ли данное письмо синтаксически RFC 2822. Это делается с помощью регулярного выражения.
Javadocs of EmailValidator
говорит:
Спецификация действительного электронного адреса может быть найдена в RFC 2822, и можно придумать регулярное выражение, соответствующее всем действительным адресам электронной почты согласно спецификации. Однако, как обсуждается в этой статье, не обязательно практично реализовать 100% -ный совместимый валидатор электронной почты. Эта реализация - компромисс, пытающийся сопоставить большую часть электронной почты, игнорируя, например, электронные письма с двойными кавычками или комментариями.
Это также означает, что не установлено интернет-соединение, например, для проверки, действительно ли существует домен верхнего уровня (в том случае, если вы это имеете в виду).