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()て渡すことができます。Mapこれにより、検証がトリガーされ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 に答える