我有下面的类,客户端使用它来设置电子邮件详细信息。我正在 jar 中向客户提供此类。我想设置对主题的验证。收件人将有一个电子邮件地址,主题不应为空且最多归档。是否可以在下面的类中设置验证,如果未按要求设置,则抛出异常。
感谢任何帮助。
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;
}
关于java - 如何在java对象中设置电子邮件地址的验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53252595/