猿问

Java Bean 条件验证

我有一个具有两个属性的类。我想使用 Java Bean 验证,但遇到了一个关于如何处理的问题?


class ProductRequest {


   private String quantityType;

   private double quantityValue;


   //getters and setters

}

我想根据以下条件使用 Java Bean 验证。如果“quantityType”等于“foo”,则将“quantityValue”限制为最大大小为 5,否则“quantityType”等于“bar”,将“quantityValue”限制为最大大小为 3。


在这种情况下,最好的方法是什么?


慕的地8271018
浏览 135回答 1
1回答

蓝山帝景

import javax.validation.constraints.AssertTrue;@AssertTruepublic boolean isBothFieldsValid() {&nbsp; &nbsp; if (quantityType.equals("foo")) {&nbsp; &nbsp; &nbsp; &nbsp; return quantityValue < 5;&nbsp; &nbsp; } else if (quantityType.equals("bar")) {&nbsp; &nbsp; &nbsp; &nbsp; return quantityValue < 3;&nbsp; &nbsp; }&nbsp; &nbsp; return false;}编辑:从评论中解决问题。您可以尝试同时使用两种方法:@AssertTrue(message = "quantity should be below 5 for foo")public boolean isQuantityValidForFoo() {&nbsp; &nbsp; if (quantityType.equals("foo")) {&nbsp; &nbsp; &nbsp; &nbsp; return quantityValue < 5;&nbsp; &nbsp; }&nbsp; &nbsp; return true;}@AssertTrue(message = "quantity should be below 3 for bar")public boolean isQuantityValidForBar() {&nbsp; &nbsp; if (quantityType.equals("bar")) {&nbsp; &nbsp; &nbsp; &nbsp; return quantityValue < 3;&nbsp; &nbsp; }&nbsp; &nbsp; return true;}
随时随地看视频慕课网APP

相关分类

Java
我要回答