2016-07-12 2 views
0

Я пытаюсь создать логин для веб-сайта, созданного в рамках игры. Когда учетные данные существующего пользователя вводятся в представление html, а кнопка отправки (входа) нажата, страница входа не делает ничего.Невозможно получить логин для работы с помощью scala с Play Framework

LoginController:

class LoginController @Inject() extends Controller { 

    def login(Email:String, password:String): Boolean = { 
     val user = CustomerLogin.findCustomer(Email).get 
     var status:Boolean = false 
     if(user.password == password) { 
     //log the user in 
     status = true 
     } else { 
     status = false 
     } 
     status 
    } 


    def index = Action { 
    implicit request => 
     Ok(views.html.loginOurs(LoginForm)) 
    } 


    private val LoginForm: Form[CustomerLogin] = Form(mapping(
    "Email" -> nonEmptyText, 
    "password" -> nonEmptyText)(CustomerLogin.apply)(CustomerLogin.unapply)) 


    def save = Action { 
    implicit request => 
     val newLoginForm = LoginForm.bindFromRequest() 
     newLoginForm.fold(hasErrors = { 
     form => 
      Redirect(routes.LoginController.index()).flashing(Flash(form.data) + 
      ("error" -> Messages("validation.errors"))) 
     }, success = { 
     newLogin => 
      Redirect(routes.HomeController.home()).flashing("success" -> Messages("customers.new.success", newLogin.Email))} 
    ) 
    } 


    def newLogin = Action { 
    implicit request => 
     val form = if(request2flash.get("error").isDefined) 
     LoginForm.bind(request2flash.data) 
     else 
     LoginForm 
     Ok(views.html.loginOurs(form)) 
    } 


} 

loginOurs.scala.html (некоторые)

<div id="content"> 

    @main(Messages("login.form")) { 
    <h2>@Messages("login form")</h2> 
    @helper.form(action = routes.LoginController.save) { 
    <fieldset> 
     <legend> 
      @Messages("customer.details", Messages("customer.new")) 
     </legend> 
     @helper.inputText(LoginForm("Email")) 
     @helper.inputText(LoginForm("Password")) 
    </fieldset> 
    <p> 
     <input type="submit" class="btn-primary" value='@Messages("submit")'> 
    </p> 
    } 
    } 
</div> 

Маршруты (только Войти материал)

GET  /login     controllers.LoginController.newLogin 

POST /login     controllers.LoginController.save 

GET /login/:Email    controllers.LoginController.login3(Email:String) 

GET  /login      controllers.HomeController.confirm(Email:String) 

Любая помощь, которую было бы весьма признателен.

Большое спасибо Джеки

ответ

1

Будьте осторожны колпачков электронной почты и пароль, я думаю, что есть несоответствие в

@helper.inputText(LoginForm("Email")) 
@helper.inputText(LoginForm("Password")) 

и

private val LoginForm: Form[CustomerLogin] = Form(mapping(
    "Email" -> nonEmptyText, 
    "password" -> nonEmptyText)(CustomerLogin.apply)(CustomerLogin.unapply)) 
+0

Да, что работал, спасибо много Луи F –

 Смежные вопросы

  • Нет связанных вопросов^_^