java - 使用具有不同条件的 javax 验证来验证 Java 中对象的特定字段
问题描述
我想根据其使用情况以不同的方式验证对象的字段。我在这里给出了一个模糊的例子。我在网上或文档中没有看到这样的例子。我正在使用 javax 验证。显然我不能在 @Person 类中添加验证,因为最小最大值会根据用例而改变。我能想到的一种方法是手动实现设置器并在那里调用我的自定义验证。但这将是矫枉过正。
@Data
public class Person{
private String name;
private String age;
}
@Data
public class OnlineClass{
private LocalDateTime startTime;
private LocalDateTime endTime;
@Min(targetField=age, value=30)
private Person teacher;
@Max(targetField=age, value=14)
@Size(targetField=name, min=5)
private Person student;
}
我应该实现自定义验证还是有没有办法在没有自定义验证的情况下实现相同的效果?
解决方案
推荐阅读
- c++ - 是否有一个 CGAL 函数来检查孔是否实际上在带孔的多边形内或检查带孔的多边形是否有效?
- android - 在我的情况下,如何更改仅图标切换按钮中的图标颜色?
- excel - 需要设计一个公式从自由格式文本框中提取“DE12345”
- java - 必须定义 GOOGLE_APPLICATION_CREDENTIALS
- group-by - 如何在 Diesel 中编写 GROUP BY 或 HAVING 子句?
- javascript - 需要使锚标记转到特定的ID,同时为固定标头腾出空间
- powerbi - 基于 ID 和日期计算平均值的 DAX 函数
- reactjs - Redux 对 .splice() 的不良影响
- android - Android 6.0.1 上的 Flutter Camera 视频录制抛出错误
- video - AMP 在向下滚动时停止视频