gpt4 book ai didi

java - 找不到字符串字段的 validator

转载 作者:行者123 更新时间:2023-11-30 01:54:56 24 4
gpt4 key购买 nike

我有一个自定义界面:

@Target({ FIELD })
@Retention(RUNTIME)
@Constraint(validatedBy = { MyCustomValidator.class })
@Documented
public @interface ValidData {

String message() default EMPTY;

Class<?>[] groups() default { };

Class<? extends Payload>[] payload() default { };

}

我有一个类,其中的字段附加了此 validator :

public class RecoverData {

@ValidData(groups = AfterDefaultGroup.class)
private String data;

MyCustomValidator 类具有以下方法:

public class MyCustomValidator implements ConstraintValidator<ValidData, RecoverData> {

@Override
public boolean isValid(RecoverData recoverData, ConstraintValidatorContext constraintValidatorContext) {
//my custom logic regarding recoverData.getData()
return true;
}
}

现在,当我尝试运行它时,出现以下错误:

No validator could be found for constraint 'com.myPackage.ValidData' validating type 'java.lang.String'. Check configuration for 'data'

遇到这种情况我能做什么?

最佳答案

您已将自定义 validator 应用于 String 字段,而不是 RecoverData 类型 - 因此您的自定义 validator validator 实际上应该是:

public class MyCustomValidator implements ConstraintValidator<ValidData, String> {

@Override
public boolean isValid(String data, ConstraintValidatorContext context) {
//my custom logic regarding recoverData.getData()
return true;
}

}

关于java - 找不到字符串字段的 validator ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54830117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com