У меня есть класс ниже, который используется клиентом для настройки данных электронной почты. Я предоставляю этот класс клиенту в банке. Я хочу настроить проверку по теме и по теме. Кому нужно иметь адрес электронной почты и тему, которые не должны быть нулевыми, а максимальное значение должно быть заполнено. Можно ли настроить проверку в классе ниже и выбросить исключение, если не настроено в соответствии с требованиями.
Любая помощь приветствуется.
class EmailDetails{
private String to;
private String subject;
public String getTo(){
return this.to;
}
public String getSubject(){
return this.subject;
}
private EmailDetails(EmailDetailsBuilder builder) {
this.to=builder.to;
this.subject=builder.subject;
}
public static class EmailDetailsBuilder{
// required parameters
private String to;
private String subject;
public EmailDetailsBuilder(String to, String subject){
this.to=to;
this.subject=subject;
}
public EmailDetailsBuilder setTo(String to) {
this.to = to;
return this;
}
public EmailDetailsBuilder setSubject(String subject) {
this.subject = subject;
return this;
}
public EmailDetails build(){
return new EmailDetails(this);
}
}




для проверки адреса электронной почты вы можете использовать библиотеку commons-validator
(зависимость maven: <groupId>commons-validator</groupId><artifactId>commons-validator</artifactId>), класс EmailValidator (из пакета org.apache.commons.validator.routines)
EmailValidator.getInstance().isValid(toEmailAddress)
в качестве другого варианта вы можете использовать hibernate-valitator, аннотируя поля класса следующим образом:
class EmailDetails {
@Email
@NotNull
private String to;
@NotNull
@Max(100)
private String subject;
}
Альхамдулилла, спас мой день. Благодарю.
если вы не используете
Hibernate validator, вам нужно использовать регулярное выражение или написать настраиваемую проверку для проверкиEmail