java - 如何在java对象中设置电子邮件地址的验证?

标签 java spring validation

我有下面的类,客户端使用它来设置电子邮件详细信息。我正在 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/

相关文章:

java - 使用设计模式会使 Java 代码变慢吗?

java - 使用 Hibernate 回调的优点?

node.js - MeanJS:Crud 模块数据验证失败

PHP session 验证

spring - Oauth2从 token 获取用户名

php - 比较规则 yii2 无法正常工作

java - 这段代码有什么问题。运行时错误

java - 如何制作带有组合框和 2 个按钮的 java swing 弹出窗口?

java - 如何让 rJava 0.9-3 在 OS X 10.7.4 和 Oracle Java 1.7 上工作?

java - 调试 Java Spring 中的事务注释