1
我創建了一個簡單的登錄提交表單使用playframework和scala,而無需連接任何數據庫。類型不匹配;找到:play.api.data.Form [controllers.Application.Userdata] required:play.api.data.Form [(String,String)]
我application.scala
這是我的控制器我寫的代碼
import play.api._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
import play.api.mvc.Request
import views.html._
case class Userdata(email:String,password:String)
object Application extends Controller {
case class Userdata(email:String,password:String)
val userForm = Form(
mapping(
"email" -> text,
"password" -> text
)(Userdata.apply)(Userdata.unapply)
)
def usercheck = Action{ implicit request=>
userForm.bindFromRequest.fold(
formWithErrors => BadRequest(views.html.login(formWithErrors)),
Userdata => { Ok(views.html.index("congrates"))}
)}
def index() = Action {
implicit request=>
Ok(views.html.login(userForm))
}
和我的視圖模板是login.scala.html
..
@(form: Form[(String,String)])
@import helper._
@form(routes.Application.usercheck){
<form class=frmuuser>
<input type=text placeholder=email id='emailid'>
<input type=password placeholder=password id='pwd'>
<input type=submit value=login id='enter'>
</form>
}
,但它不工作,並給了我錯誤
type mismatch; found : play.api.data.Form[controllers.Application.Userdata] required: play.api.data.Form[(String, String)]
在這個控制器線
formWithErrors => BadRequest(views.html.login(formWithErrors)),
什麼是靈魂我的問題??
你能或不能添加@import在模板的開頭? – 2014-11-23 17:21:26
我把case類放在控制器外面,並使用@(form:Form [Userdata]),但它給了我同樣的錯誤。 – 2014-11-24 06:21:31
你能分享一個複製你的問題的示例項目嗎?你還在使用什麼版本的Play Framework? – tuxdna 2014-11-24 21:09:04