【发布时间】:2015-08-25 19:26:40
【问题描述】:
我正在尝试在我的 Spring 应用程序中使用 Bean Validation 进行验证。我在我的 bean 中定义了以下字段 -
@NotNull(message = "CUSTOMERROR-1000")
private String firstName;
在这里,我在属性文件中将 CUSTOMERROR-1000 定义为“必填字段”。在我的 ControllerAdvice 类中,我可以使用以下代码检索详细信息:
getBindingResult().getFieldError().getField()
getBindingResult().getFieldError().getCode()
getBindingResult().getFieldError().getDefaultMessage()
在这里,我将字段名称设为 firstName。有没有办法注释字段并将值设置为“名字”?同样有没有办法通过注解设置代码值?
【问题讨论】:
-
我在 bean 中注释了字段 (firstName),以便使用 JSR-303 验证。使用这一行 "getBindingResult().getFieldError().getField()" ,我可以获得字段的名称,即 firstName。我可以使用这一行“getBindingResult().getFieldError().getDefaultMessage()”获取默认消息。但是,有没有一种方法可以传递类似于传递默认消息的客户错误代码。例如:@NotNull(code="ERR-CUST-01")。我还想传递“First Name”而不是获取字段名称“firstName”。例如:@NotNull(label="First Name").
-
我想检查自定义字段名称和错误代码值是否可以使用一些注释设置并在将错误返回给消费者时检索。
-
您是否正在专门寻找仅注释方法?
-
是的,我更喜欢注释。任何其他标准方法也会有所帮助。
标签: java spring jakarta-ee bean-validation spring-validator