JSR 303 Bean验证

时间:2014-11-13 13:31:57

标签: java javabeans bean-validation

我的bean中有两个字段

String key,
String value,

当字段键=“A”时,“值”应遵循特定的正则表达式 对于其他“关键” - 它可以是任何东西。

如何根据键定义此验证值。

1 个答案:

答案 0 :(得分:2)

您可以使用类级约束。

1-使用类级自定义约束注释注释bean:

@ValidKeyValue
public class MyBean {
    private String key;
    private String value;
    ...
}

2- Create the custom annotation and its validator.

3-使用isValid方法实现验证逻辑:

@Override
public boolean isValid(MyBean myBean, ConstraintValidatorContext context) {
    if ("A".equals(myBean.getKey())) {
        // case 1
    } else {
        // case 2
    }
}