use*_*758 13 playframework-2.0
我正在尝试addind表单中的一些错误,但我的代码不编译.
特别是,官方发挥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);
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,方法添加不存在.
我发现它是一个hashmap但是后面的代码不能编译:
filledForm.errors().put("name","s");
Run Code Online (Sandbox Code Playgroud)
如何添加错误?谢谢
编辑:解决了感谢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));
Run Code Online (Sandbox Code Playgroud)
Mar*_*rco 12
简短的方法是
filledForm.reject("name","user already exists");
return badRequest(loginForm.render(filledForm));
yok*_*zor 11
你可以使用withError:
filledForm.withError("name", "user already exist")
Run Code Online (Sandbox Code Playgroud)
您也可以添加全局错误:
filledForm.withGlobalError("eneric error")
Run Code Online (Sandbox Code Playgroud)
来自:https: //github.com/playframework/playframework/blob/3bebfa7c1226a438a687ec9a0a3e5c23e5aefa09/framework/src/play/src/main/scala/play/api/data/Form.scala#L252