多个字段的联合约束-条件结果约束
1. 功能
- 实现了一个请求类中,两个字段:fieldA,fieldB。当fieldA == “22”时,fieldB值必须是“33”功能。
- fieldB的值是字符串数字,只要是数组中的一个值即可
- fieldA的值是一个字符串,作为条件,当fieldA满足条件时,才会比较fieldB
- 可以在一个类上添加多个注解,实现多个条件结果
2. 使用举例
@ConditionStringResultStringConstraint.List({
@ConditionStringResultStringConstraint(conditionName = "fieldA", resultName="fieldB", conditionValue = "22", resultValue = {
"33"}),
@ConditionStringResultStringConstraint(conditionName = "fieldA", resultName="fieldB", conditionValue = "mm", resultValue = {
"nn"})
})
public class DemoRequest {
private String fieldA;
private String fieldB;
getter
setter
}
- 当fieldA == “22”时,fieldB必须等于“33”
- 当fieldA == “mm”时,fieldB必须等于“nn”
3. 约束代码
import ConditionStringResultStringConstraintValidator;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.