我正在学习Play Framework 2.6,我想问你如何正确使用Form并在我的模板中访问这些数据。我对文档不是很聪明。
在Controller中,我将其发送到模板:
Form<LoginForm> loginForm = formFactory.form(LoginForm.class).bindFromRequest();
if (loginForm.hasErrors()) {
return ok(userLoginForm.render(loginForm));
}
在html scala模板中,在我将表单POST发送到服务器之后,如果我打印@form,我会得到
@(form: Form[LoginForm])
content of @form=
Form(of=class controllers.forms.LoginForm, data={Submit=Login, password=12, email=mail},
value=Optional[controllers.forms.LoginForm@53122070],
errors=[ValidationError(email,[Please use email in proper format.],[]), ValidationError(password,[Password must be longer than 3 characters],[]), ValidationError(,[Please fix all errors.],[])])
请问如何从模板中访问这些数据(使用@form ... xyz ....):
答案 0 :(得分:0)
我能够弄清楚我的一些问题。
获取电子邮件值:
@form.data.get("email")
获取密码值:
@form.data.get("password")
获取一条全局错误消息:
@if(!form("").errors.isEmpty()) {
@form("").errors.get(0).message()
}
(但我更喜欢将全局错误放入flash())
列出所有“电子邮件”错误消息:
@for(error <- form("email").errors) {
@error.message
}
我知道可能会有更优雅的解决方案,但这就是我现在所拥有的。