我确信这对Play-gurus来说是明智的,但我找不到任何方法。
我有一个有两个字段的类,表示货币值的整数和小数部分:
@Required
@Min(0)
private Integer whole;
@Range(min = 0, max = 99)
private Integer decimal;
现在,我不想允许整数和小数部分都为0的值。
我可以使用注释指定吗?如果没有,我在哪里挂钩我的验证码?
答案 0 :(得分:1)
嗯,我不是大师,但我认为你可以通过定义自定义支票来达到你想要的效果:
@CheckWith(WholeCheck.class)
private Integer whole;
@CheckWith(DecCheck.class)
private Integer decimal;
static class WholeCheck extends Check {
public boolean isSatisfied(Object obj, Object whole) {
boolean satisfied = true;
MyObj myobj = (MyObj) obj;
if(((Integer)whole) == 0 && myobj.decimal ==0){
satisfied = false;
setMessage("whole and decimal cannot be 0");
}
return satisfied;
}
}