为了账号安全,请及时绑定邮箱和手机立即绑定

Java Bean 条件验证

Java Bean 条件验证

慕的地8271018 2021-08-19 13:40:12
我有一个具有两个属性的类。我想使用 Java Bean 验证,但遇到了一个关于如何处理的问题?class ProductRequest {   private String quantityType;   private double quantityValue;   //getters and setters}我想根据以下条件使用 Java Bean 验证。如果“quantityType”等于“foo”,则将“quantityValue”限制为最大大小为 5,否则“quantityType”等于“bar”,将“quantityValue”限制为最大大小为 3。在这种情况下,最好的方法是什么?
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

import javax.validation.constraints.AssertTrue;



@AssertTrue

public boolean isBothFieldsValid() {

    if (quantityType.equals("foo")) {

        return quantityValue < 5;

    } else if (quantityType.equals("bar")) {

        return quantityValue < 3;

    }

    return false;

}

编辑:


从评论中解决问题。您可以尝试同时使用两种方法:


@AssertTrue(message = "quantity should be below 5 for foo")

public boolean isQuantityValidForFoo() {

    if (quantityType.equals("foo")) {

        return quantityValue < 5;

    }

    return true;

}


@AssertTrue(message = "quantity should be below 3 for bar")

public boolean isQuantityValidForBar() {

    if (quantityType.equals("bar")) {

        return quantityValue < 3;

    }

    return true;

}


查看完整回答
反对 回复 2021-08-19
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信