首页 > 解决方案 > 通过属性在@size 验证注解中配置 max 和 min 参数

问题描述

通常,我们会验证具有一些约束的模型,如下所示:

public class PersonForm {
    @NotNull
    @Size(min=2, max=30)
    private String name;

    @NotNull
    @Min(18)
    private Integer age;
}

但是,我想在我的实现中使用可配置属性而不是常量。例如,让这个properties文件:

personform.name.size.min=2
personform.name.size.max=30

和表单类...

public class PersonForm {
    @NotNull
    @Size(min="personform.name.size.min", max="personform.name.size.max")
    private String name;

    ...
}

这可以通过声明性的、基于注释的方法实现吗?谢谢你。

标签: javaspringvalidation

解决方案


尝试在注释中使用 Spring Expression 语言

 @Size(min="${personform.name.size.min}", max="${personform.name.size.max}")
private String name;

推荐阅读