bean-validation相关内容

如果请求标头验证错误,让Spring响应400(而不是500)

在对Spring MVC @RequestMapping方法的参数进行验证时,Spring会根据参数的类型以不同的状态代码进行响应: 对于无效的@RequestBody参数,Spring响应为400 对于无效的@RequestHeader,@PathVariable和@RequestParam参数,Spring响应为500. 可以更改此设置,以便在所有情况下Spring都以相同的40 ..

更新到Hibernate Validator 4后无法获取Spring的DataIntegrityViolationException

我不明白为什么从Hibernate Validator 3.X升级到4.X之后为什么再没有出现DataIntegrityViolationException. 某种程度上,Spring不再能够包装持久层异常. 除了Validator依赖项之外,没有其他任何更改,但是验证通过DataIntegrityViolationException在验证违反情况下引发的测试不再通过. 现在,我得到的 ..
发布时间:2020-09-20 05:46:43 Java开发

Spring验证不断验证错误的参数

我有一个带有Web方法的控制器,如下所示: public Response registerDevice( @Valid final Device device, @RequestBody final Tokens tokens ) {...} 还有一个看起来像这样的验证器: public class DeviceValidator implements Vali ..
发布时间:2020-09-20 05:46:35 其他开发

@Valid不抛出异常

我正在尝试使用@Valid验证我的JPA实体,如下所示: public static void persist(@Valid Object o) 它可以工作一段时间,但是现在停止工作了,我不确定为什么.我尝试在persist方法内手动进行操作,并且按预期方式工作: ValidatorFactory factory = Validation.buildDefaultValid ..
发布时间:2020-09-20 05:46:27 Java开发

jsonschema2pojo中的JSR-303激活

jsonschema2pojo 文档中有一个地方描述了启用 JSR-303注释生成.如果我理解正确,则可以通过Maven插件配置来完成.有人可以演示如何实现它,应该在插件配置中使用哪个标签?谢谢大家! 解决方案 我认为您正在寻找 includeJsr303Annotations 是否包含 JSR-303批注(用于,maximum等).模式规则及其产生的注释: maximum ..
发布时间:2020-09-20 05:46:17 其他开发

Java Bean验证:仅当属性不为空时才强制使用@Pattern

我有一个表格,允许用户选择输入他们的邮政编码.我知道如何通过使用@Pattern约束和正则表达式来验证邮政编码的格式.但是,由于这是一个可选字段,因此我不希望格式为空. 如果该字段为空白,如何告诉系统忽略@Pattern约束?这是一个可选字段,我只想验证它是否为空白. public class MyForm { String firstName; String last ..
发布时间:2020-09-20 05:45:14 其他开发

如何在Bean验证中更改ValidationMessages.properties的位置

默认情况下,ValidationMessages.properties可以位于我的类路径的根目录中.是否可以更改com.myapp.Anything.properties之类的文件的位置? 解决方案 根据JSR-303规范: 4.3.1.1.默认消息插值算法默认消息插值器使用以下步骤: 消息参数是从消息字符串中提取的,并用作搜索名为ValidationMessages的Reso ..
发布时间:2020-09-20 05:39:49 其他开发

如何在非强制性字段上使用@Pattern JSR 303

如何在非强制性表单字段上使用@Pattern约束? @Pattern(regexp="...") private String something; 我提交表单后,会立即收到验证错误,但用户可能会将该字段留空,因为这不是必填字段. PS:我可以编写自己的约束注释.但是,我只是问一个结合注释或添加注释属性的简便方法. JSR303的实现是休眠验证器. 解决方案 只需使用nul ..
发布时间:2020-09-20 05:38:46 Java开发