Java univocity能否以或替代和的方式执行验证器?
我想知道是否有任何方法以OR运算符的方式而不是AND来执行验证器。目前,如果第一个失败,他不会运行其他两个,但是我需要他运行它们,以返回给用户他应该应用于该文件的所有相应修复 我有点像:Java univocity能否以或替代和的方式执行验证器?,java,univocity,Java,Univocity,我想知道是否有任何方法以OR运算符的方式而不是AND来执行验证器。目前,如果第一个失败,他不会运行其他两个,但是我需要他运行它们,以返回给用户他应该应用于该文件的所有相应修复 我有点像: @Validate(nullable = false, validators = { NumericValidator.class, LengthValidator.class, DataValidator.class }) 我不创建单个验证,因为我希望创建常规验证,并根据字段调用特定验证 提前感谢。我解决了
@Validate(nullable = false, validators = { NumericValidator.class, LengthValidator.class, DataValidator.class })
我不创建单个验证,因为我希望创建常规验证,并根据字段调用特定验证
提前感谢。我解决了创建一个类似
import java.util.HashSet;
import java.util.Set;
import com.univocity.parsers.conversions.Validator;
import co.com.app.constantes.Constants;
public class CustomValidator implements Validator<Object> {
protected Set<Validator<Object>> validators = new HashSet<>();
public CustomValidator() {
super();
}
@Override
public String validate(Object value) {
Set<String> errors = new HashSet<>();
validators.forEach(validator -> {
String error = validator.validate(value);
if (error != null) {
errors.add(error);
}
});
if (errors.isEmpty()) {
return null;
}
return String.join(Constants.COMMA, errors);
}
}
在DTO中,我使用了
@Parsed(index = 0)
@NullString(nulls = { Constants.NULL_VALUE, Constants.EMPTY_VALUE })
@Validate(nullable = false, validators = { FieldValidator.class })
private Long field;
@Parsed(index = 0)
@NullString(nulls = { Constants.NULL_VALUE, Constants.EMPTY_VALUE })
@Validate(nullable = false, validators = { FieldValidator.class })
private Long field;