Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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 UniVocity如何向自定义验证器添加参数_Java_Validation_Univocity - Fatal编程技术网

Java UniVocity如何向自定义验证器添加参数

Java UniVocity如何向自定义验证器添加参数,java,validation,univocity,Java,Validation,Univocity,我正在为univocity解析器创建一些自定义验证器,并希望添加一些如下参数: 公共类大小实现验证器 int max; 然后像这样使用它: @已解析 @验证(nullable=false,validators=Size.class(8)) 私有字符串someString; 我没有发现类似的东西,也没有找到带有注释的示例 可能使用javax.validation注释 或者可能是使用范围限制构造函数创建的sizeValidation对象 谢谢 这里有两个选项: 1-在setter上添加注释(简单

我正在为univocity解析器创建一些自定义验证器,并希望添加一些如下参数:

公共类大小实现验证器
int max;
然后像这样使用它:

@已解析
@验证(nullable=false,validators=Size.class(8))
私有字符串someString;
我没有发现类似的东西,也没有找到带有注释的示例

可能使用javax.validation注释

或者可能是使用范围限制构造函数创建的sizeValidation对象

谢谢

这里有两个选项:

1-在setter上添加注释(简单但不可重用:

    @Parsed
    @Validate(nullable = false)
    public void setSomeString(String value){
        if(value.length() < 3 || value.length() > 5){
            throw new DataValidationException("SomeString can't have length " + value.length());
        }
        this.someString = value;
    }
然后将其添加到属性中:

    @Parsed
    @Convert(conversionClass = LengthValidator.class, args = {"3", "5"})
    private String someString;

希望这有帮助。

部分解决。大小可以通过RegEx ^ ^
matches=“^.{3,5}$”
Size min=3,max=5进行验证。这非常有帮助。谢谢!非常棒的库顺便说一句。我正在将RegEx与ValidatedConversion相结合,它工作起来……很快!:-)
    @Parsed
    @Convert(conversionClass = LengthValidator.class, args = {"3", "5"})
    private String someString;