【发布时间】:2014-09-26 12:20:56
【问题描述】:
我的表单很简单,只有两个字段
@Constraints.Required
public String name;
@Constraints.Required
public String slug;
渲染为:
@helper.form(routes.Add.create()) {
<input type="text" name="name" id="new-category-name"/>
<input type="text" name="slug" id="new-category-slug"/>
<input type="submit" value="save"/>
}
我有一个问题,因为当我第一次提交没有值的表单时,我看到了错误,这没关系,但是在验证之后我再次重新提交我的表单(这次有值)我看到了我的错误
我有记录器 request.body() 和 form.errors:
[debug] application - DefaultRequestBody(Some(Map(name -> ArrayBuffer(name), slug -> ArrayBuffer(slug))),None,None,None,None,None,false)
[debug] application - {name=[ValidationError(name,[error.required],[])], slug=[ValidationError(slug,[error.required],[])]}
感谢您的帮助
我的创建操作:
public Result create(){
categoryForm = categoryForm.bindFromRequest();
if(categoryForm.hasErrors()){
return ok(add.render(categoryForm));
} else {
Category category = new Category();
CategoryForm cf = categoryForm.get();
category.setName(cf.name);
category.setSlug(cf.slug);
categoryRepository.save(category);
return redirect(routes.Edit.edit(category.getId()));
}
}
【问题讨论】:
-
向我们展示
create操作 -
“当我第一次提交没有值的表单时,我看到了错误,这没关系,但是在验证之后我再次提交我的表单(这次有值)我看到了我的错误”。当您从一开始就尝试提交正确的表单时会发生什么?
-
当我正确提交此表单时,一切正常,类别对象存储在数据库中
标签: java forms playframework playframework-2.3