我有一个带有几个约束注释的模型.是否可以使用该模型对象填充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);
最佳答案 您可以使用bind()方法代替fill(),并使用预加载的值传入Map.这将触发像bindFromRequest那样的验证.
Map<String,String> values = loadValues();
Form<models.Photo> photoForm = form(models.Photo.class).bind(values);
if (photoForm.hasErrors()){
...
}