java - 如何使用具有不同验证注释的相同表单 DTO?如何避免双重代码?

标签 java spring spring-mvc design-patterns

在不重复代码的情况下,编写 DTO 并遵循不同的经过验证的注释的最佳实践是什么? 下面附上一个我想避免的简单示例:

public class AddressForm1 {

    @NotEmpty
    private String address;

    @NotNull
    @Max(23)
    @Min(30)
    private BigDecimal lng;

    // getters & setters
}

和;

public class AddressForm2 {

    // removed annotation, empty value permitted
    private String address;

    @NotNull
    @Max(43)
    @Min(50)
    private BigDecimal lng;

    //getters & setters
}

最佳答案

您可以使用验证组,并对约束进行分组。然后使用 @Validated 决定要应用哪一组约束 注释,指定适当的组

查看 http://www.javacodegeeks.com/2014/08/validation-groups-in-spring-mvc.html 中的示例

关于java - 如何使用具有不同验证注释的相同表单 DTO?如何避免双重代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28835122/

相关文章:

java - AccessLevel 无法解析为变量

java - Tomcat7 未能部署 Web 应用程序 CSRF Token

java - 如何从命令行运行 springmvc+gradle 项目?

java - `this` 引用外部类如何通过发布内部类实例转义?

java - 可以在 Java 中创建新的原始数据类型

java - 生成 gradle java 应用程序的 dockerfile

javascript - Spring Boot Ajax 动态填充选择选项

java - 右键单击下拉菜单

java - 分离 Spring-WS 和 Spring-Webmvc

java - 如果自动提交为真,@Transactional 注释是否有效?