Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate Validator@URL don';不接受没有架构的URL_Java_Bean Validation_Hibernate Validator - Fatal编程技术网

Java Hibernate Validator@URL don';不接受没有架构的URL

Java Hibernate Validator@URL don';不接受没有架构的URL,java,bean-validation,hibernate-validator,Java,Bean Validation,Hibernate Validator,如果我用@URL注释字段: @URL private String myUrl; 并尝试在没有模式的情况下为其设置值(google.com而不是http://google.com) 然后它将抛出ConstraintViolationException 我如何允许接受没有模式的URL 据我记忆所及,您可以在getter上使用该注释-在该方法中,您可以指定应添加的模式(如果该模式尚未出现)。您甚至可以创建虚拟财产getter: String getMyUrl() { return myUr

如果我用
@URL
注释字段:

@URL
private String myUrl;
并尝试在没有模式的情况下为其设置值(
google.com
而不是
http://google.com

然后它将抛出
ConstraintViolationException


我如何允许接受没有模式的URL

据我记忆所及,您可以在getter上使用该注释-在该方法中,您可以指定应添加的模式(如果该模式尚未出现)。您甚至可以创建虚拟财产getter:

String getMyUrl() {
    return myUrl;
}

@URL
String getMyUrlWithSchema() {
    return (myUrl != null &&
               !myUrl.startsWith("http://") &&
               !myUrl.startsWith("https://")) ?
           "http://" + myUrl :
           myUrl;   
}

或者,您也可以编写您的。

据我所知,您可以在getter上使用该注释-在该方法中,您可以指定应该添加的模式(如果该模式尚未出现)。您甚至可以创建虚拟财产getter:

String getMyUrl() {
    return myUrl;
}

@URL
String getMyUrlWithSchema() {
    return (myUrl != null &&
               !myUrl.startsWith("http://") &&
               !myUrl.startsWith("https://")) ?
           "http://" + myUrl :
           myUrl;   
}

或者,您可以在
UrlValidator
a
java.net.URL
中编写您的。

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

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