2014-10-28 2 views
1

Поэтому у меня есть метод проверки, расположенный в одном из моих игровых форм объектов модели:Как передать значения сеанса различным методам в игре и пятне?

def validateForm(form:Form[forms.RegisterForm.registerFormData]) = { 
    val name = form("name").value.get 
    val test = TableQuery[UsersTable].filter(_.name === name).firstOption.get.name 
    if (test == something) { 
     blah 
    } else { 
     blah 
    } 
    } 
} 

Вот реализация этого в контроллере:

def registerSubmit = DBAction { implicit rs => 
    RegisterForm.registerForm.bindFromRequest.fold(
     formWithErrors => { 
     BadRequest(views.html.user.register(formWithErrors)) 
     }, 
     formData => { 
     val valForm = RegisterForm.validateForm(RegisterForm.registerForm.fill(formData)) 
     if(valForm.hasErrors) { 
      BadRequest(views.html.user.register(valForm)) 
     } else { 
      stuff 
     } 
     } 
    ) 
    } 

Как я могу пройти скользкую сессию метод validateForm? На данный момент я не могу запросить проверку формы, потому что в запросах нет сеанса для использования.

Я знаю, что некоторые из этих ссылок не выглядят красивее, но они были изменены с этого поста.

ответ

1

Просто запросить сеанс

def validateForm(form:Form[forms.RegisterForm.registerFormData])(implicit session: Session) 

существует неявное преобразование из вашего rs значения на гладкую сессию, которая будет применяться.