如何在java中获取带注释的值?

时间:2013-02-25 09:32:42

标签: java hibernate validation annotations

我正在尝试@Pattern注释来验证输入

    @Pattern(regexp="[A-Za-z0-9_.]*", message="Name can only contain alphanumeric characters and underscores and dots")
    public String getName() {
        return name;
    }

我还希望错误message包含传递的name的实际值。如何在注释调用中访问它?例如,我想要像:

    @Pattern(regexp="[A-Za-z0-9_.]*", message="Name can only contain alphanumeric characters and underscores and dots. Provided name: " + name + " is not valid")

我尝试了这个并收到错误The value for annotation attribute Pattern.message must be a constant expression。有什么方法可以在注释定义中获得实际的变量值(特别是错误消息)?我想通过显示实际提供的值来使错误消息更有用。

1 个答案:

答案 0 :(得分:0)

您可能需要一个自定义约束来覆盖@Pattern生成的默认错误消息。查看相关文档here