Playframework 如何在play和slick中将会话值传递给不同的方法?
因此,我的一个游戏表单模型对象中有一个验证方法:Playframework 如何在play和slick中将会话值传递给不同的方法?,playframework,slick,playframework-2.3,Playframework,Slick,Playframework 2.3,因此,我的一个游戏表单模型对象中有一个验证方法: 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) {
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
}
}
)
}
如何将slick会话传递给validateForm方法?目前我无法查询表单验证,因为这些查询没有可使用的会话
我知道其中一些参考资料看起来并不漂亮,但自从这篇文章发表后,它们已经被更改了。只需请求一次会话即可
def validateForm(form:Form[forms.RegisterForm.registerFormData])(implicit session: Session)
有一个从rs
值隐式转换到slick会话的过程,将应用该过程