13

我正在尝试在表单中添加一些错误,但我的代码无法编译。
特别是,官方play 2 api似乎不正确。
我们可以看到errors()返回validationError列表
http://www.playframework.com/documentation/api/2.0/java/play/data/Form.Field.html#errors()

无论如何,如果我尝试

 ValidationError e = new ValidationError("name", "user already exist",new ArrayList());
 filledForm.errors().add(e);

我得到一个错误,方法 add 不存在。
我发现它是一个哈希图,但以下代码无法编译:

 filledForm.errors().put("name","s");

如何添加错误?谢谢

编辑:解决感谢 Julien Lafont

 ValidationError e = new ValidationError("name", "user already exist",new ArrayList());
 ArrayList<ValidationError> errors = new ArrayList<ValidationError>();
 errors.add(e);
 filledForm.errors().put("name",errors);
 return badRequest(loginForm.render(filledForm));
4

2 回答 2

12

简短的方法是

fillForm.reject("name","用户已经存在");

return badRequest(loginForm.render(filledForm));

于 2013-02-12T09:17:51.907 回答
11

您可以使用 withError:

filledForm.withError("name", "user already exist")

您也可以添加全局错误:

filledForm.withGlobalError("eneric error")

来源: https ://github.com/playframework/playframework/blob/3bebfa7c1226a438a687ec9a0a3e5c23e5aefa09/framework/src/play/src/main/scala/play/api/data/Form.scala#L252

于 2014-02-17T16:29:24.810 回答