scala .fold填写表格

时间:2019-01-16 11:59:23

标签: java scala playframework

此刻我正在研究Scala应用程序,用户可以填写表格,提交后将数据保存到这样的会话中,

OrganisationContactDetailsForm.form.bindFromRequest.fold(
  formWithErrors => {
    BadRequest(register_organisation_contact_details(formWithErrors))
  },
  formData => {
    Redirect(controllers.routes.ConfirmRegisterAnswersController.show()).addingToSession(
      "contact_firstname" -> formData.contact_firstname.toString(),
      "contact_lastname" -> formData.contact_lastname.toString(),
      "contact_email" -> formData.contact_email.toString(),
      "contact_phone" -> formData.contact_number.toString()
    )
  }
)

我为用户提供了一个选项,使他们可以在最终提交代码之前检查其答案,我以一种更简单的形式使用单个会话数据执行以下操作。

def show(): Action[AnyContent] = Action {  implicit request: Request[AnyContent] =>
val form = request.session.get(sessionAttrName).fold(RegisterOrganisationForm.form) { name =>
  val formModel = RegisterOrganisationForm(name)
  RegisterOrganisationForm.form.fill(formModel)
}
showPage(Ok, form)

}

是否可以使用一种以上的会话数据来执行与上面类似的操作?或者有一种更好的方法来存储多个会话数据吗?

0 个答案:

没有答案