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

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

最佳答案

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

关于java - 如何在 java 中获取带注释的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15063838/

相关文章:

java - 基于 Spring Boot 控制台的应用程序如何工作?

java - Hibernate:不区分大小写的搜索不适用于特殊字符

hibernate - 为什么 hibernate 在 SAVE 之前执行 SELECT?

javascript - 如何计算字符串中的某些字符

java - 多个 HTTP 请求/w 单个套接字

java - 将按钮的背景设置为图像,根据需要缩放

c# - 如何以编程方式将 ASCX 内的 ASP.NET 控件添加到外部 RequiredFieldValidator?

使用 scanf 询问输入时产生无限循环的代码

java - 如何使用 Hadoop java api 在 Mapreduce 作业完成后调用自定义方法?

java - 我的 NamedQuery 有什么问题