2

我正在尝试@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。有什么方法可以在注释定义中获取实际变量值(特别是错误消息)?我想通过显示实际提供的值来使错误消息更有帮助。

4

1 回答 1

0

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

于 2013-02-25T09:42:58.650 回答