Как извлечь скрытое поле из случая ошибки

Я использую Play 2.0 со Scala и хочу извлечь некоторые значения, хранящиеся в скрытых полях.

Форма в контроллере:

    val recommendationForm: Form[Recommendation] = Form(
        mapping(
          "fromMail" -> email,
          "fromName" -> nonEmptyText(5, 30),
          "toMail" -> email,
          "toName" -> nonEmptyText(5, 30),
          "message" -> optional(text(0, 300)),
          "productGroupId" -> nonEmptyText(),
          "masterProductId" -> nonEmptyText()
        )
        (Recommendation.apply)(Recommendation.unapply)
      )

def doRecommend = xyzAction {  implicit request =>
    recommendationForm.bindFromRequest.fold(
      errors => {
        errors.data.map(x => println(x))
        BadRequest("")
      },
      {
        case (recommendation) => {
        Ok("")
        }
      }
    )
  }

Класс обращения "Рекомендация":

case class Recommendation(fromMail: String, fromName: String, toMail: String, toName: String, message: Option[String], productGroupId: String, masterProductId: String)

HTML:

    @form(action = routes.Product.doRecommend) {

              <input type="hidden" value="@{(productGroup \ "@id").text}" />
              <input type="hidden" value="@{(currentMasterProduct \ "@id").text}" />

    @inputText(field = recommendationForm("fromName"),
                        '_label -> "",
                        'placeholder -> Messages("recommendation.from.name"),
                        '_showConstraints -> false,
                        'class -> "text ui-widget-content ui-corner-all"
                        )

some more fields...
}

Сгенерированный HTML скрытого поля:

<input type="hidden" value="74.75.652">

Но я не могу извлечь эти два скрытых поля из ошибок. Он печатает только остальные пять. Как я могу извлечь скрытые?


person GarfieldKlon    schedule 08.10.2012    source источник


Ответы (1)


Все, что мне нужно было сделать, это дать полю ввода атрибут имени...

<input type="hidden" value="@{(productGroup \ "@id").text}" name="@recommendationForm("productGroupId").name" />
person GarfieldKlon    schedule 09.10.2012