问题标签 [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 回答
1049 浏览

java - Hibernate Validator 可以用作 Hibernate 之外的组件吗?

我正在尝试为消息有效负载(即 json)添加验证。我正在使用Jackson Json 处理器进行数据绑定,这对我来说效果很好,使用 bean 方法和偶尔的一两个注释。

但除了数据绑定之外,我想以声明方式验证实际值:特别是我更喜欢注释而不是任何外部模式(DRY 原则,保持代码和约束完全同步)。所以我正在寻找一个简单的验证库来做到这一点。

看起来 JSR-303 几乎定义了声明部分所需的注释。看起来Hibernate Validator是使用这些注释的实际验证器的实现。但是文档涵盖了与 Hibernate 一起使用的用例,所以我不确定它是否可以在 Hibernate 本身之外使用。由于我不对相关服务进行任何数据库访问,因此我宁愿不包括 Hibernate 的其他部分。

有没有人这样做或对样本有很好的指导?

或者,如果有人知道另一个很好的 JSR-303 实现也可以。

0 投票
6 回答
27787 浏览

java - 是否有可用的 JSR-303(bean 验证)实现?

我知道有非标准框架,例如 commons-validator 和 hibernate 验证器。

我想知道是否有人知道官方标准的实现。

0 投票
2 回答
7909 浏览

validation - Spring JSR303 验证不像 Spring Documentation 中描述的那样工作

我尝试为我的 Web 应用程序实现验证,如Spring 3.0 文档的第5.7.4.3节所述:

我已将 hibernate-validator 添加为依赖项,一切看起来都不错,但启动我的 Web 应用程序会导致以下错误:

在查看 API 时,很明显有些地方出了问题。LocalValidatorFactoryBean实现javax.validation.ValidatorwhileConfigurableWebBindingInitializer.setValidator()期望一个org.springframework.validation.Validator.

有什么解决办法吗?

编辑

关于LocalValidatorFactoryBean

这是 Spring 应用程序上下文中 (JSR-303) 设置的中心类javax.validation:它引导 a并通过 Spring接口以及 JSR-303接口和接口本身javax.validation.ValidationFactory 公开它。ValidatorValidatorValidatorFactory

就像亚历克斯马歇尔在下面所说的那样,情况并非如此。LocalValidatorFactoryBean只实现javax.validation.Validator

LocalValidatorFactoryBean确实扩展SpringValidatorAdapter了,它实现了 org.springframework.validation.Validator.

0 投票
2 回答
15605 浏览

spring - 使用 Spring 验证框架验证请求标头

是否可以将 Spring 验证框架与 Spring MVC 一起使用来验证 HTTP 请求标头的存在和值?

0 投票
1 回答
3485 浏览

spring - jsr 303(休眠验证器 4)和 spring 2.5.x

如何配置我的 Spring 2.5.x 应用程序以利用 JSR 303 验证(休眠验证器 4x)?我正在使用 Maven,并将休眠验证器的版本更新为 4.x,尽管当我的 Spring HibernateDaoSupport 保存一个带有约束注释的模型时,即使对象未通过约束,我也不会抛出异常(使用发生在 Hibernate 验证器 3x 上)。是否需要额外的配置?

0 投票
5 回答
16765 浏览

java - Java Bean Validation (JSR303) 约束涉及多个 bean 属性之间的关系

假设我有以下简单的 java bean:

JSR 303 中是否有一种机制来创建自定义验证器来验证 startDate 必须在 endDate 之前的约束?

在我看来,这是一个常见的用例,但我找不到这种多属性关系约束的任何示例。

0 投票
15 回答
179274 浏览

validation - 使用 Hibernate Validator (JSR 303) 进行跨字段验证

Hibernate Validator 4.x 中是否有跨字段验证的实现(或第三方实现)?如果不是,实现跨字段验证器的最简洁方法是什么?

例如,如何使用 API 来验证两个 bean 属性是否相等(例如验证密码字段与密码验证字段匹配)。

在注释中,我希望是这样的:

0 投票
2 回答
12451 浏览

java - 在 Spring MVC 中使用 @valid(JSR-303) 验证时不显示错误消息

我已经 <mvc:annotation-driven />在 dispatcher-servlet 中指定了。我没有使用@InitBinder。
我正在使用@valid 注释在控制器的方法中进行验证,例如

验证工作正常,但不是在 .. html 代码中显示的示例中显示错误

它抛出异常,如..

org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 org.springframework.validation.BindException:org.springframework.validation.BeanPropertyBindingResult:2 个错误字段“urlInfo.url”上的对象“文章”中的字段错误:拒绝值 [];代码 [typeMismatch.article.urlInfo.url,typeMismatch.urlInfo.url,typeMismatch.url,typeMismatch.java.net.URL,typeMismatch]; 参数 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [article.urlInfo.url,urlInfo.url]; 论据 []; 默认消息 [urlInfo.url]];默认消息 [无法将类型“java.lang.String”的属性值转换为属性“urlInfo.url”所需的类型“java.net.URL”;嵌套异常是 org.springframework.core.convert。ConversionFailedException:无法将值从“java.lang.String”类型转换为“java.net.URL”类型;嵌套异常是 org.springframework.core.convert.ConversionFailedException:无法将值从“java.lang.String”类型转换为“java.net.URL”类型;嵌套异常是 java.lang.reflect.InvocationTargetException] 字段“标题”上的对象“文章”中的字段错误:拒绝值 [];代码 [Size.article.title,Size.title,Size.java.lang.String,Size]; 参数 [org.springframework.context.support.DefaultMessageSourceResolvable: 代码 [article.title,title]; 论据 []; 默认消息 [title],{javax.validation.constraints.Size.message},6,[Ljava.lang.Class;@1db3aac,2147483647,[Ljava.lang.Class;@1e90abf];

如何配置它,不抛出异常,而是返回页面并显示错误消息......

0 投票
1 回答
743 浏览

xml - 使用 JSR 303 是否可以从注释中生成 validation.xml?

假设我有一个这样的注释 JSR 303 类:

如何获取该类并生成包含与注释指定的约束相同的约束的validation.xml?

0 投票
2 回答
13109 浏览

jsf - .properties 文件中的 Bean 验证和错误消息

我正在使用 Glassfish 开发 JSF Projekt。我的验证效果很好,但我没有成为自定义错误消息。

我的 ValidationMessages.properties 位于包含以下内容的 WEB-INF 文件夹中:

谢谢你。