我有一个带有几个约束注释的模型。是否可以使用该模型对象填充Form,然后手动调用验证。我正在寻找这样的东西:
models.Photo photo = new models.Photo();
photo.loadValues();
Form<models.Photo> photoForm = new Form<models.Photo>(models.Photo.class);
photoForm.fill(photo);
然后我可以这样做:
photoForm.validate(); #does not exist
if (photoForm.hasErrors) {
...
}
更新: estmatic的答案效果很好。要将对象转换为Map,我使用Beanutils:
Map<String, String> photoMap = BeanUtils.describe(photo);
答案 0 :(得分:2)
您可以使用fill()
方法代替bind()
,并使用预先加载的值传入Map
。这将触发像bindFromRequest
那样的验证。
Map<String,String> values = loadValues();
Form<models.Photo> photoForm = form(models.Photo.class).bind(values);
if (photoForm.hasErrors()){
...
}