通过属性在@size验证批注中配置最大和最小参数

时间:2018-11-16 16:43:00

标签: java spring validation

通常,我们将使用某种约束来验证模型,如下所示:

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;

    ...
}

基于声明的,基于注释的方法是否有可能?谢谢。

1 个答案:

答案 0 :(得分:2)

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

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