问题标签 [nhibernate-validator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
622 浏览

spring-mvc - HTTP 状态 400 – 向我的控制器添加 @Valid 注释时显示错误请求

我正在尝试使用 Hibernate Validator 将验证添加到我的表单到我的项目中。在提交以下页面时,会显示错误消息。但是,当我从 Controller ( UserController.handleLogin ) 方法中删除@Valid注释时,我可以提交详细信息。有人可以建议我错过什么吗?

在提交登录表格时

用户控制器.java

登录命令.java

索引.jsp

0 投票
0 回答
95 浏览

java - 嵌套对象结构内字段的 HibernateValidator 约束映射

我有以下来自第三方 jar 的 java 外部类,我想对这个类进行 bean 验证。

产品.java:

价格.java

下面是相同的休眠验证器:

对于 Price 的嵌套类,验证没有按预期进行,非常感谢您的帮助。

0 投票
0 回答
151 浏览

validation - springMVC 5.1.6 验证不起作用(BindingResult 错误为 0?)

我的“用户”对象在注册到数据库之前被验证时遇到问题

使用的技术: - 带有 Hibernate Validator 的 Spring Web MVC - Spring Data (JDBC) - Maven

这是我的控制器代码中的一个片段:

我的用户验证如下:

我的jsp布局如下:

我的 Spring mvc 配置 xml 文件:

我的 pom 的依赖项是:

问题是:在调试时发现 BindingResult 对象中的错误总是等于 0。

调试结果:

在此处输入图像描述

请帮助我理解这个问题。

0 投票
2 回答
165 浏览

spring-boot - Spring Boot 验证 CGLIB 增强型控制器组件未自动装配

我已经使用 Rest 控制器创建了一个 Spring Boot 应用程序(用户 spring-boot-starter-parent V. 2.2.2.RELEASE),工作正常,现在我添加了一个依赖项:

并在我的控制器类上添加了@Validated,以便验证其中的所有方法:

现在控制器方法在调用时开始抛出 NullPointerExceptions,因为 userService 为 null;我做了一个@PostConstruct 作为测试。显然,它是在具有正确自动装配字段的普通未增强 bean 上调用的。但是当通过 HTTP 调用控制器时,这个未增强的 bean 没有被调用,而是一个 UserController$$EnhancerBySpringCGLIB$$ 类的 bean,并且它的 userController 没有自动装配。我真的不知道为什么这应该很简单,据我所知没有太多配置。所以我猜出于某种原因,spring 不会将依赖项注入到 CGLIB 增强类中,或者只是将其注入到错误的类中。当我删除@Validated 时,一切都再次正常工作,但当然没有验证。

0 投票
0 回答
29 浏览

maven - Spring mvc Maven Hibernate Validation 不起作用,并且不会出现在控制台日志中

我正在使用 Hibernate Validation,而我的项目只有一个 pom.xml 文件。我正在在线学习课程,我正在执行相同的步骤,但休眠验证不起作用。我什至在控制台日志中找不到任何休眠验证。

pom.xml

这些都是我运行应用程序时出现的日志

Console logs

0 投票
1 回答
179 浏览

spring - Spring Boot,基于 LocaleContextHolder 的 Hibernate 验证器语言

我有一个使用 JPA、Hibernate 等的 Spring Boot 2.4.2 REST 应用程序。到目前为止,我使用一个MessageSource用于应用程序错误(位于 i18n/messages 中)和ValidationMessagesbean 验证的默认值。

这是我的配置的一部分:

到目前为止,我的应用程序支持 2 种语言:iten。现在的问题是应用程序的消息在代理的语言(浏览器)中正​​确本地化,但验证错误不是。

我发现 Hibernate 使用默认语言环境 (Locale.getDefault()) 并自定义行为我应该自定义语言环境分辨率。

所以我尝试创建一个自定义 hibernateValidator(我在我的 entityFactory 中设置):

和解析器:

这样做,语言环境解析工作正常,但参数替换不行。我的意思是这样的消息:

我有一个例外:

所以我更改了上面的配置,添加了 MessageInterpolator:

此时参数已正确解析,但语言环境解析再次不起作用。

您能否指出我正确的方向,试图解释 Spring Boot - Hibernate Validator 组合遵循的最佳实践?

0 投票
0 回答
7 浏览

spring - spring mvc heroku LocalTime 不起作用为什么?

约会时间 :::>> 当我使用邮递员测试我的 api 并设置过去的时间 {"appointmentTime":"some past time"} 它运行良好并且不允许我使用过去的时间但是当我部署到 heroku 并设置过去的时间它不起作用并接受过去的时间为什么?