当前位置: 首页 > 知识库问答 >
问题:

使用hibernate验证器一次验证所有字段

楚意
2023-03-14

我正在使用Spring Boot 2.2.0用java bean验证框架构建一个restful服务。Hibernate-Validator在幕后使用。验证工作得很好,但在一个字段与约束不匹配后会引发异常。我想先验证所有字段,然后给消费者一个包含所有错误的响应。这可能吗?

共有1个答案

桂浩言
2023-03-14

假设您在请求上使用@valid注释,那么您可以在@exceptionhandler方法中使用MethodArgumentNotValidException来实现这一点。

@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MethodArgumentNotValidException.class)
public List<String> handleValidationExceptions(MethodArgumentNotValidException ex) {
    //get All errors with
    ex.getBindingResult().getAllErrors();
    //and map them
}
 类似资料:
  • 晚上好,我正在尝试在下面的场景中使用Hibernate验证器:

  • 现在,我正在用Spring MVC开发一个web应用程序。 样品值可以是“0.05”、“1.00”、“12.55”等。 因此,如果有任何办法来解决这个问题,请点亮我。谢了。

  • 首先,我是Vaadin7的新手。当我发现BeanFieldGroup.class时,我正在尝试一些vaadin演示。正如我所看到的,这个类将一个字段绑定到一个bean属性。在bean中,使用验证约束注释对属性进行注释(JSR303)。在本例中,我的pom.xml包含hibernate验证器依赖项: 我创建了validationmessage.properties文件,并在其中放了一些消息(带有匈牙

  • 我需要应用一个双值验证,这需要与圆周率匹配。我正在考虑使用@pattern(regex=“3.14159265359”)。这是使用Hibernate验证约束应用这样一个约束的最佳方式吗?谢谢

  • 问题内容: 我正在尝试使用SuperCSV将数据库中的大量行(约200万行)写入CSV文件。我需要在每个单元格编写时对其进行验证,并且内置的CellProcessor表现得非常好。我想捕获CellProcessors抛出的所有异常,以便可以返回到源数据并进行更改。 问题是,当一行中存在多个错误时(例如,第一个值超出范围,第二个值为null,但不应为空),只有第一个CellProcessor会执行,

  • 这个问题已经被问了很多次了,即使是在经历了所有的解决方案之后,我也无法让hibernate validator工作。 控制器类:- servlet-上下文:- 依赖关系:- 验证类:- 我错过了什么?