java - Hibernate Validator @URL 不接受没有 schema 的 URL

标签 java bean-validation hibernate-validator

如果我用 @URL 注释字段:

@URL
private String myUrl;

并尝试在没有架构的情况下为其设置值(google.com 而不是 http://google.com)

然后它将抛出ConstraintViolationException

我如何才能接受没有架构的 URL?

最佳答案

作为 UrlValidator 中验证例程的一部分,将实例化具有给定值的 java.net.URL 对象。它的构造函数不排除没有协议(protocol)的 URL,因此该约束被认为是无效的。如果您想接受没有协议(protocol)的 URL,您可以通过 @Pattern 使用正则表达式,或者为 @Url 约束创建自定义 validator ,提供您需要的逻辑。

关于java - Hibernate Validator @URL 不接受没有 schema 的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249092/

相关文章:

Java ME : transform basic JDK 1. 5 "enum"对象进入 Java ME CLDC-1.1/IMP-NG (JDK 1.4)

java - 如何使用 Spring MVC 将文件上传到项目目录?

java - 如何在基类上使用 javax.validation (JSR303)?

jakarta-ee - 我可以使用 apache wink (JAX/RS) 实现 Hibernate (JSR 303) 方法验证吗

java - Dropwizard 仅在@POST 上验证字段

java - JFreechart系列固定x轴运动

java - "Error starting ApplicationContext"执行spring应用时

Javax 验证 : Constraint Violations for Map

java - 在 Spring MVC(使用 hibernate Validator)中提交带有无效数据的表单时发送语法错误的请求