问题标签 [hibernate-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.
java - 休眠唯一密钥验证
我有一个字段,比如说 ,user_name
它在表中应该是唯一的。
使用 Spring/Hibernate 验证对其进行验证的最佳方法是什么?
java - hibernate validator for cross field validation
I have a question about hibernate validator:
String a and b can either be null but can't both be null. How can I use Hibernate Validator to validate this case?
Thanks,
java - 如何使用 Hibernate Validator 动态解析消息参数?
我正在使用 Hibernate Validator 并希望在错误消息中解析类别的名称。考虑这个简单的场景:
假设我有一个 HazardousCategoryConstraint 的工作实现。验证器根据限制名称列表检查每个类别的名称。当我调用 validate(InventoryReport) 时,我得到了我期望的错误数,除了它们是相同的字符串。我希望看到类别名称解析到每条消息中。有人可以指点我一个如何动态解析参数的例子,或者告诉我怎么做吗?
hibernate - javax.validation:收到错误“找不到类型的验证器:”
框架:JQuery、Spring、Hibernate、Hibernate Validator(JSR-303 Bean Validation)
平台:Windows
我正在尝试使用 JSR 303-Bean Validation 定义自定义约束 @IdMustExist。约束的目的是检查输入的 id 值是否存在于关联表中。我收到错误“javax.validation.UnexpectedTypeException:找不到类型的验证器:com.mycompany.myapp.domain.package1.class1”。
如果我将 @IdMustExist 放在 Class1 的字段定义中(如下面的示例代码中所示),我会收到上述错误。但是如果我将 @IdMustExist 约束放在 String 字段上,我不会收到上述错误。我的代码在 IdMustExistValidator.java 中崩溃。我不明白为什么 Hibernate 可以为“String”类找到验证器,但不能为域类“Class1”找到验证器。
我的类定义如下。
Class2.java
IdMustExist.java
IdMustExistValidator.java(请注意这个类设计有bug)
}
jsf-2 - 调用 bean 验证
我正在使用 JSF 2,myfaces,hibernate-validator-4.1.0.Final.jar。
我使用 hibernate-validator 来验证表单中输入的值。
我正在开发批量上传模块,我在其中解析 csv 数据并创建数据库记录。
我如何在这里重用相同的验证器?
设置> constraintViolations = validator.validate(nc);
抛出此异常
2011 年 1 月 28 日上午 8:35:39 javax.faces.event.MethodExpressionActionListener processAction
严重:java.lang.NoSuchMethodError:javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;在 org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:62)
我尝试了这个解决方案链接
我有 hibernate-jpa-2.0-api-1.0.0.Final.jar,hibernate-validator-4.1.0.Final.jar
我需要任何其他 jar 来完成这项工作吗?
java - 无法解析休眠验证器消息
出于某种原因,我无法解析 Hibernate Validator 消息。我有以下内容applicationContext.xml
:
我正在使用<spring:message>
来解析消息代码。不幸的是,我得到以下异常:
当我查看内部hibernate-validator-4.1.0-final.jar
时,我在ValidationMessages.properties
下找到了org/hibernate/validator/
,所以我不确定为什么它无法解析该消息。
更新
我复制ValidationMessages.properties
并src/main/webapp/WEB-INF/classes/properties
修改了我的applicationContext.xml
:
但我遇到了同样的问题。问题是否与语言环境有关?
java - 分发此框架的最佳方式
我刚刚创建了一个框架(将其描述为一个集成会更准确),我想知道分发它的最佳方式是什么。该项目是 mavenized 并使用 Spring 3,但我在这两个领域都是新手,我不确定分发它的最佳方式是什么。
该框架涉及我创建的 Javascript 库、Spring 3(Web MVC 部分)和 Hibernate Validator 之间的集成。
- 我有
pom.xml
整个项目的。 - 我有一个
src/main/java
(正确命名空间)与集成相关的类。 - 我有一个包含此集成所需的 Javascript 文件
webapp
的文件夹的目录。js
- 我有一个
WEB-INF/tlds
带有 tld 的目录,用于在 Java 中实现的自定义标签。 - 我有
WEBINF/tags
一个自定义标签的目录。 - 我有一个
applicationContext.xml
.src/main/resources
- 我有一个
springmvc-servlet.xml
在WEB-INF
. - 我有一个
web.xml
(WEB-INF
看起来是标准的,开箱即用;我不记得做过任何改变)。 - 我有一个
src/test/java/
包含集成框架的测试
我应该包含/排除哪些文件/目录,以及分发此集成的好方法(对于 Spring 3)?有标准吗?
更新
抱歉,我没有弄清楚“分发”的含义:) 我的意思是其他开发人员可以将此框架作为工件包含在他们的项目中(可能作为 jar),类似于库的分发方式。我只是对那里有特定于 webapp 的东西这一事实感到困惑。
hibernate - Bean Validation:接收 EntityNotFoundException 虽然有验证实体的约束
技术:Spring、Hibernate、JSR-303、JQuery
平台:Windows
我正在尝试实现@IdMustExist JSR-303 约束。约束的目的是检查输入的 id 值是否存在于关联表中。请参阅此链接以获取 IdMustExist.java 和 IdMustExistValidator.java 代码片段。
场景 1 - 输入了有效的 Id 值:在这种情况下,当执行 hibernate 的 EntityManager.merge 操作时,我看到执行了 @IdMustExist 约束。它成功验证输入的 Id 值是否存在于另一个关联/链接表中。Hibernate 成功完成了保存操作。我注意到在调用@IdMustExist 的验证器之前,hibernate 会为实体触发选择 SQL。
场景 2 - 输入了无效的 Id 值:在这种情况下,当执行 hibernate 的 EntityManager.merge 操作时,它会抛出 EntityNotFoundException(下面给出的堆栈跟踪),因为它找不到输入的无效 Id 的实体。我希望约束 @IdMustExist 在更新前阶段被触发,我们可以优雅地向用户显示错误消息。但在休眠进入更新前阶段之前,似乎有些事情失败了。我看到休眠触发实体的选择 SQL,然后抛出 EntityNotFoundException。它没有机会调用 validate @IdMustExist。
这是否意味着,我无法通过 JSR-303 验证输入的 Id 是否存在于关联/链接表中?有什么选择吗?
提前感谢您的帮助。J.P
HibernateClass2Dao.java
Class2ServiceImpl.java
Class2Controller.java
java - 是否有使用带注释的方法参数启用 JSR 303 Bean 验证的标准方法
我一直在四处寻找一段时间,但没有运气。我没有使用 Spring MVC,但仍想使用@javax.validation.Valid
来启用方法参数的验证。举个例子
使用 MVC,可以@Controller
通过简单的方式为带注释的 bean启用此功能<mvc:annotation-driven/>
(请参阅5.7.4.3 配置 JSR-303 验证器以供 Spring MVC 使用)。
使用 AOP 应该很简单。不过,我怀疑有一些标准的方法可以做到这一点。因此,问题是:非 MVC 应用程序和非控制器 bean 是否有类似的事情来启用带注释的 bean 的输入验证?