使用Spring 3按条件验证对象字段

时间:2013-06-05 12:31:52

标签: java validation spring-mvc

我有一个包含两个BigDecimal字段

的复杂对象
    public class Test
    {

    private BigDecimal property1;
    private BigDecimal property2;
    //setter and getter method

    }

现在,当用户以弹簧形式输入property1时应该是property2的10%。 这个验证我必须使用弹簧验证框架。

1 个答案:

答案 0 :(得分:0)

public class TestValidator implements Validator {

    public boolean supports(Class clazz) {
        return Test.class.equals(clazz);
    }

    public void validate(Object obj, Errors e) {
        Test t = (Test) obj;
        if(t.getProperty1()!=0.1*t.getProperty2()){
            e.rejectValue("Test", "property1 not 10% of property2");
        }

    }
}