问题标签 [bean-validation]

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 回答
2527 浏览

java - JPA 验证策略

NetBeans 让我在 JPA 验证策略的三个值之间进行选择:Auto、Callback 和 None。“自动”是什么意思?“回调”是否意味着使用@PrePersist、@PreUpdate 和@PreRemove?

如果我使用 Auto 或 Callback 如果没有要执行的验证,是否会影响性能?

0 投票
3 回答
6022 浏览

jsf - 带有 Hibernate Validator 4 和 Tomcat 6 的 JSf 2

我遇到的问题是我的Bean Validation 没有像我预期的那样工作

我有一个 Session Scoped Managed Bean,其name字段绑定到h:inputText. 名称必须输入,并且最小长度为 1 个字符,最大长度为 5 个字符。我希望当我在文本框中输入名称时,支持 bean 会相应地对其进行验证,如果失败,则会显示相应的错误消息。

然而,这种情况并非如此。验证总是失败,即使我在 inputText 中输入了一个有效的案例(例如“abc”)。在调试应用程序时,似乎getName()总是调用访问器,而从未到达设置器。难道我做错了什么?我假设验证器使用访问器进行验证,但问题是设置器永远没有机会更新名称的值......我一定遗漏了一些东西。

下面是托管 Bean:

下面是 JSF xhtml 的片段。我尝试了一些不同形式的不同变体,但第一个选项是我认为可以工作的那个(我认为它相当于第三个选项,但只是为了以防万一:))

我正在使用 JSF 2.0.2-FCS 与 Hibernate Entity Manager 3.3.2.GA 和 Hibernate Validator 4.0.2.GA(以下是我的 Maven POM 的相关部分),在 Windows XP Pro Service 上的 Tomcat 6.0.20 中运行包 3(32 位)。

0 投票
1 回答
742 浏览

java - 使用 JSF 暂时抑制 beanvalidation

我有一个用户类,其中包含电子邮件地址和密码字段。

此代码在注册时效果很好。但是当用户编辑他的数据时,我遇到了密码和@EmailUse 标签的问题。密码是<h:inputSecret id="password" value="#{user.password}"/>空的,所以我遇到了问题@NotNull。使用电子邮件地址时,我遇到的问题是用户的电子邮件地址已经在数据库中,但此时这没问题。

所以我的问题是:我可以暂时禁用这两项检查吗?

非常感谢你的帮助

0 投票
1 回答
6047 浏览

java - 在 JPA 和 Spring 中使用 Hibernate Validator

我正在使用 Hibernate Validator 4.0.2、Spring 3.0 和 Hibernate 3.3.2(据我了解,它是 JPA2 之前的版本)作为 JPA 1 提供程序。

我发现将验证器集成到 MVC 层很容易(它可以正常工作),但看不到如何将验证器自动集成到 JPA 实体管理器(JPA 1)中。

基本上,我有一些实体将被持久化,但它们并非来自 Web 层,因此尚未经过验证。我想要一种通过验证器 pre-persist 运行它们的简洁方法。

有没有一种简单的方法可以做到这一点?我知道如果我使用的是 JPA 2 提供程序(例如发布时的 Hibernate 3.5),它几乎是自动的。这大致就是我要找的。

0 投票
7 回答
11659 浏览

java - JSR 303 Bean 验证 + Javascript 客户端验证

在服务器端使用 JSR 303 bean 验证时,使用 Javascript(代码重复最少)执行客户端表单验证的最佳方法是什么?我目前正在使用Spring 3Hibernate Validator

0 投票
4 回答
42165 浏览

jpa - 如何将 javax.validation 导入我的 Java SE 项目?

我正在尝试添加约束检查,如此处所述如何在 EclipseLink/JPA 中指定 @OneToMany 的基数

0 投票
1 回答
1386 浏览

java - 约束验证

我正在使用javax.validation.Validator相关类进行基于注释的验证。

我收到一个编译错误,说明:

类型不匹配:无法从 List< Class< 转换?将 ConstraintValidator< capture#4-of ?,?>>> 扩展到 List< Class< ? 扩展 ConstraintValidator< ? 扩展注释,?>>>

我错过了什么?

0 投票
6 回答
11356 浏览

hibernate - JSR-303 依赖注入和 Hibernate

Spring 3.0.2、Hibernate 3.5.0、Hibernate-Validator 4.0.2.GA

我正在尝试使用以下方法将 Spring 依赖项注入 ConstraintValidator:

我已经配置了应用程序上下文:

根据 Spring 文档,这应该允许“自定义 ConstraintValidators 像任何其他 Spring bean 一样从依赖注入中受益”</p>

在调试器中,我可以看到 Spring 调用 getBean 来创建 ConstraintValidator。稍后当刷新触发 preInsert 时,会创建并调用不同的 ConstraintValidator。问题是 EntityManager 在这个新的 ConstraintValidator 中为空。我尝试在 ConstraintValidator 中注入其他依赖项,这些依赖项始终为空。

有谁知道是否可以将依赖项注入到 ConstraintValidator 中?

0 投票
3 回答
16373 浏览

java - 休眠@OneToOne @NotNull

在关系的双方上声明@OneToOne和是否有效,例如:@NotNull

我找不到任何说这是无效的,但似乎在坚持期间至少必须违反关系的一侧。(例如,如果先写 changeEntry,changeEntryDetails 将暂时为空)。

尝试此操作时,我看到抛出异常not-null property references a null or transient value

如果可能,我想避免放松约束,因为双方都必须在场。

0 投票
5 回答
122526 浏览

java - 如何组合验证两个或多个字段?

我正在使用 JPA 2.0/Hibernate 验证来验证我的模型。我现在有一种情况,必须验证两个字段的组合:

如果两者和都有效,则模型无效getValue1()getValue2()null

如何使用 JPA 2.0/Hibernate 执行这种验证?使用简单的@NotNull注释,两个 getter 都必须为非 null 才能通过验证。