2013-02-12 3 views
4

У меня есть модель с несколькими аннотациями ограничений. Возможно ли заполнить форму этим объектом модели, а затем вручную вызвать проверку. Я ищу что-то вроде этого:Вызов проверки формы вручную в Play Framework 2.x

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) { 
    ... 
} 

Update: Ответ estmatic работает довольно хорошо. Чтобы преобразовать объект в карте я использую BeanUtils:

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

ответ

2

Вместо fill(), вы можете использовать метод bind() и передать в Map с предварительно загруженными значениями. Это вызовет проверку, например, bindFromRequest.

Map<String,String> values = loadValues(); 
Form<models.Photo> photoForm = form(models.Photo.class).bind(values); 
if (photoForm.hasErrors()){ 
    ... 
} 
Смежные вопросы