Skip to content

Commit 48fa5cb

Browse files
committed
refactor: replace a custom validator implementation by @Email with "regexp" parameter.
1 parent c234122 commit 48fa5cb

File tree

5 files changed

+7
-58
lines changed

5 files changed

+7
-58
lines changed

src/main/java/ru/mystamps/web/feature/account/AccountValidation.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public final class AccountValidation {
3939
static final int PASSWORD_MAX_LENGTH = 72;
4040

4141
static final int EMAIL_MAX_LENGTH = UsersActivation.EMAIL_LENGTH;
42+
// Require 2+ level domains in e-mails.
43+
static final String EMAIL_2ND_LEVEL_DOMAIN_REGEXP = ".+@.+\\..+";
4244

4345
static final int ACT_KEY_LENGTH = UsersActivation.ACTIVATION_KEY_LENGTH;
4446
static final String ACT_KEY_REGEXP = "[0-9a-z]+";

src/main/java/ru/mystamps/web/feature/account/RegisterAccountForm.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@
1919

2020
import lombok.Getter;
2121
import lombok.Setter;
22-
import ru.mystamps.web.support.beanvalidation.Email;
2322
import ru.mystamps.web.support.beanvalidation.Group;
2423

2524
import javax.validation.GroupSequence;
25+
import javax.validation.constraints.Email;
2626
import javax.validation.constraints.NotEmpty;
2727
import javax.validation.constraints.Size;
2828

29+
import static ru.mystamps.web.feature.account.AccountValidation.EMAIL_2ND_LEVEL_DOMAIN_REGEXP;
2930
import static ru.mystamps.web.feature.account.AccountValidation.EMAIL_MAX_LENGTH;
3031

3132
@Getter
@@ -40,7 +41,7 @@ public class RegisterAccountForm implements RegisterAccountDto {
4041

4142
@NotEmpty(groups = Group.Level1.class)
4243
@Size(max = EMAIL_MAX_LENGTH, message = "{value.too-long}", groups = Group.Level2.class)
43-
@Email(groups = Group.Level3.class)
44+
@Email(regexp = EMAIL_2ND_LEVEL_DOMAIN_REGEXP, groups = Group.Level3.class)
4445
private String email;
4546

4647
}

src/main/java/ru/mystamps/web/support/beanvalidation/Email.java

Lines changed: 0 additions & 54 deletions
This file was deleted.

src/main/resources/ru/mystamps/i18n/ValidationMessages.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
javax.validation.constraints.Email.message = Invalid e-mail address
12
javax.validation.constraints.NotEmpty.message = Value must not be empty
23
javax.validation.constraints.NotNull.message = Value must not be empty
34
javax.validation.constraints.Min.message = Value must be greater than or equal to {value}
@@ -9,7 +10,6 @@ ru.mystamps.web.support.beanvalidation.BothOrNoneRequired.message = {first} and
910
ru.mystamps.web.support.beanvalidation.DenyValues.message = Invalid value
1011
ru.mystamps.web.support.beanvalidation.FieldsMismatch.message = Field '{second}' must mismatch '{first}'
1112
ru.mystamps.web.support.beanvalidation.FieldsMatch.message = Field '{second}' must match '{first}'
12-
ru.mystamps.web.support.beanvalidation.Email.message = Invalid e-mail address
1313
ru.mystamps.web.support.beanvalidation.NotEmptyFilename.message = Value must not be empty
1414
ru.mystamps.web.support.beanvalidation.NotEmptyFile.message = File must not be empty
1515
ru.mystamps.web.feature.series.CatalogNumbers.message = Value must be a list of numbers separated by comma

src/main/resources/ru/mystamps/i18n/ValidationMessages_ru.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
javax.validation.constraints.Email.message = Неправильный адрес электронной почты
12
javax.validation.constraints.NotEmpty.message = Поле обязательно для заполнения
23
javax.validation.constraints.NotNull.message = Поле обязательно для заполнения
34
javax.validation.constraints.Min.message = Значение должно быть больше либо равно {value}
@@ -9,7 +10,6 @@ ru.mystamps.web.support.beanvalidation.BothOrNoneRequired.message = Оба по
910
ru.mystamps.web.support.beanvalidation.DenyValues.message = Неправильное значение
1011
ru.mystamps.web.support.beanvalidation.FieldsMismatch.message = Поле '{second}' не должно совпадать с '{first}'
1112
ru.mystamps.web.support.beanvalidation.FieldsMatch.message = Поле '{second}' должно совпадать с '{first}'
12-
ru.mystamps.web.support.beanvalidation.Email.message = Неправильный адрес электронной почты
1313
ru.mystamps.web.support.beanvalidation.NotEmptyFilename.message = Поле обязательно для заполнения
1414
ru.mystamps.web.support.beanvalidation.NotEmptyFile.message = Файл не должен быть пустым
1515
ru.mystamps.web.feature.series.CatalogNumbers.message = Значение должно быть списком чисел через запятую

0 commit comments

Comments
 (0)