问题描述
我曾经在我的 dto 上使用基于注释的 java bean 验证,我问是否可以进行动态验证,例如从数据库表中检索约束:
我有一个实体用户:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Size(min = 10,max = 200,message
= "Name must be between 10 and 200 characters")
private String name;
@NotBlank(message = "Email is mandatory")
private String email;
// standard constructors / setters / getters / toString
}
我想在不使用注释的情况下验证名称约束,例如在我的数据库中我将添加一个表:
Data_Definition -------------*> Data_Field
@Entity
public class DataDefinition{
String name ;
List<DataField> dataFields ;
}
@Entity
public class DataField{
String name ;
String pattern;
int min;
int max ;
boolean required;
....
}
在我的控制器或服务中,我想在我的 Dto 用户上应用这些验证角色,例如:
@RestController
public class GlobalController {
private boolean validateDto(@RequestBody Object object) {
// get object name
// retrieve object constraints validation from the database tables ( we can use cache to save them)
// validate the object
// return true or false
}
// other methods
}
有什么想法可以帮助我在不使用任何注释的情况下实现这一目标吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)