score:0

user.scala.html:

@(userform: form[userdata]) (implicit messages: messages)

@helper.form(action = routes.usercontroller.userpost()) {
  @helper.inputtext(userform("name"))
  @helper.inputtext(userform("age"))
}

usercontroller.scala:

package controllers

import play.api.mvc._
import play.api.play.current

import play.api.data._
import play.api.data.forms._
import javax.inject.inject
import play.api.i18n.i18nsupport
import play.api.i18n.messagesapi
import play.api.i18n.messages.implicits._

import views._

case class userdata(name: string, age: int)

class usercontroller @inject()(val messagesapi: messagesapi) extends controller with i18nsupport {
   val userform = form(
     mapping(
       "name" -> text,
       "age" -> number
     )(userdata.apply)(userdata.unapply)
   )

   def index = action {implicit request =>
     ok(views.html.user(userform))
   }
   def userpost = action {implicit request =>
      userform.bindfromrequest.fold(
        formwitherrors => {
          // binding failure, you retrieve the form containing errors:
          badrequest(views.html.user(formwitherrors))
        },
        userdata => {
         /* binding success, you get the actual value. */
         val name = userdata.name
         val age = userdata.age
         ok(<message>success !!</message>)
        }
      )
   }
}

score:0

everything looks good, except perhaps the space between:

@(userform: form[userdata]) (implicit messages: messages)

try:

@(userform: form[userdata])(implicit messages: messages)

since it's supposed to be a grouped parameter


Related Query

More Query from same tag