Java JSR303bean验证
我的bean中有两个字段Java JSR303bean验证,java,javabeans,bean-validation,Java,Javabeans,Bean Validation,我的bean中有两个字段 String key, String value, 当字段key=“A”时,“value”应该跟在特定的正则表达式后面 对于其他“键”-它可以是任何东西 如何基于键定义此值验证。您可以使用类级约束 1-使用类级自定义约束注释对bean进行注释: @ValidKeyValue public class MyBean { private String key; private String value; ... } 2- 3-在isValid方法
String key,
String value,
当字段key=“A”时,“value”应该跟在特定的正则表达式后面
对于其他“键”-它可以是任何东西
如何基于键定义此值验证。您可以使用类级约束 1-使用类级自定义约束注释对bean进行注释:
@ValidKeyValue
public class MyBean {
private String key;
private String value;
...
}
2-
3-在isValid
方法中实现验证逻辑:
@Override
public boolean isValid(MyBean myBean, ConstraintValidatorContext context) {
if ("A".equals(myBean.getKey())) {
// case 1
} else {
// case 2
}
}
将其实现为对象级验证。对象级验证无法执行,因为在执行REST服务时,它不是一种标准方法-验证留给容器(用于bean验证的Hibernate库)我不理解该注释:(.hmm..当你说对象级验证时,你的意思是-if(object.getA()=“a”){apply regex pattern}..我指的是对象级约束()。