4

我有一个带有几个约束注释的模型。是否可以使用该模型对象填充表单,然后手动调用验证。我正在寻找这样的东西:

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 的答案效果很好。要将对象转换为地图,我使用 Beanutils:

Map<String, String> photoMap = BeanUtils.describe(photo);
4

1 回答 1

2

代替fill(),您可以使用该bind()方法并将 aMap与您的预加载值一起传递。这将触发验证bindFromRequest

Map<String,String> values = loadValues();
Form<models.Photo> photoForm = form(models.Photo.class).bind(values);
if (photoForm.hasErrors()){
  ...
}
于 2013-02-12T16:50:37.747 回答