Я получаю play.api.data.Form [String] требуется: Option [models.User] при попытке отображения ошибка в просмотре html.scala: Получение play.api.data.Form [String] требуется: Option [models.User]
Ниже приведен код, который я пытаюсь использовать, пожалуйста, не стесняйтесь использовать все, если это необходимо. Благодаря
Контроллер:
val forgotPasswordForm = Form(
single(
"email" -> text
) verifying ("Invalid email or password", result => result match {
case (e) => User.findOneByEmail(e).isDefined
})
)
def forgotPassword() = withOptionUser { user => implicit request =>
Ok(views.html.anon.forgotPassword(user))
}
def forgotPasswordSubmit = withOptionUser { user: User => implicit request =>
forgotPasswordForm.bindFromRequest().fold(
formWithErrors => {
// do something with the bad form, like reshow the view
BadRequest(views.html.anon.forgotPassword(formWithErrors))
},
submission => {
// do something with the submitted form
Ok("got " + forgotPasswordForm.value)
}
)
}
Html:
@( user: Option[User]
)
@stylesheet = {
<link rel="stylesheet" media="screen" href='@routes.Assets.at("styles/public/anon.min.css")'>
}
@main("Forgot Password",user: Option[User],"forgotPassword",stylesheet){
<section class="login">
<div class="loginBox contentBox">
<h1>Forgot Password?</h1>
@if(forgotPasswordForm.hasGlobalErrors) {
<ul>
@forgotPasswordForm.globalErrors.foreach { error =>
<li>error.message</li>
}
</ul>
}
<p>Enter your email address:</p>
<form action="/forgotpassword" method="POST">
<input type="email" name="email" placeholder="E-mail Address" id="email" data-xpl="loginEmail"/>
<div class="greenButton">
<input type="submit" id="loginbutton" value="submit" data-xpl="loginSubmit"/>
</div>
</form>
</div>
</section>
}
Спасибо @biesior я не заметил неправильный тег «воспроизведение» – Monnster
хотя мы предполагаем, что Играем 2+ с Scala , вы можете добавить информацию о конкретной версии в теги/вопрос. – biesior
спасибо biesior .. будет делать это – Monnster