【问题标题】:Invoke Form Validation Manually in Play Framework 2.x在 Play Framework 2.x 中手动调用表单验证
【发布时间】:2013-02-12 12:05:52
【问题描述】:

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

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);

【问题讨论】:

    标签: playframework-2.0 playframework-2.1


    【解决方案1】:

    您可以使用bind() 方法代替fill(),并使用预加载的值传入Map。这将像bindFromRequest 那样触发验证。

    Map<String,String> values = loadValues();
    Form<models.Photo> photoForm = form(models.Photo.class).bind(values);
    if (photoForm.hasErrors()){
      ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      相关资源
      最近更新 更多