所以我在我的一个表单模型对象中有一个验证方法:
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方法?目前我无法查询表单验证,因为查询没有要使用的会话。
我知道其中一些参考文献看起来并不漂亮,但自从这篇文章以来它们已被更改。
答案 0 :(得分:1)
只需要一个会话
def validateForm(form:Form[forms.RegisterForm.registerFormData])(implicit session: Session)
从您的rs
值到光滑会话的隐式转换将被应用。