java - 设置自定义字段名称和代码

标签 java spring jakarta-ee bean-validation spring-validator

我正在尝试在我的 Spring 应用程序中使用 Bean Validation 进行验证。我在我的 bean 中定义了以下字段 -

@NotNull(message = "CUSTOMERROR-1000")
private String firstName;

在这里,我在属性文件中将 CUSTOMERROR-1000 定义为“字段为必填”。在我的 ControllerAdvice 类中,我可以使用下面的代码检索详细信息:

getBindingResult().getFieldError().getField()
getBindingResult().getFieldError().getCode()
getBindingResult().getFieldError().getDefaultMessage()

这里我得到的字段名称是firstName。有没有办法注释该字段并将值设置为“名字”?同样有没有办法通过注释设置代码值?

最佳答案

为此,您需要创建自己的约束。您可以添加其他属性、标签、错误代码等,为它们设置值并使用它们。请参阅:http://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html/validator-customconstraints.html#validator-customconstraints-compound

您可以像这样定义错误消息: 错误代码:{errorCode} - {label} 为必填项

关于java - 设置自定义字段名称和代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32212395/

相关文章:

java - 启动 bean 在调用 Produces 后加载

java - 正在寻找用于解密使用 openssl -aes-256-cbc -a -salt 命令加密的消息的 Java 实现?

java - 在同一语句中为数组分配多个值

java - 在 ContextLoaderListener 中获取服务器名称

java - 有 Qt Jambi 分支吗?

java - Spring NamedParameterJdbcTemplate 查询的性能非常慢

java - 对象引用未保存的 transient 实例 - 在刷新 : Spring Data JPA 之前保存 transient 实例

Spring框架5和EhCache 3.5

java - 关于实体对象中空值的最佳实践

java - Servlet工作原理的疑问