如何从案例类的对象创建一个Form

时间:2017-01-14 07:47:04

标签: scala playframework

我正在使用格式的折叠方法如下

def regSubmit = Action { implicit request  =>
    userForm.bindFromRequest.fold({
      formWithErrors=>BadRequest(views.html.Error("Registration failed")( formWithErrors.errors))
    },
    {
      userData=>Ok(views.html.regconf("Registration Successful")(**//here I want to send a Form, not data from the form**))
    })

如何从元组或单个变量,类或案例类创建Form?

1 个答案:

答案 0 :(得分:0)

userForm将(通常是?)定义为val,因此是不可变的。它保存映射(此字段名称为此类型的此位置的变量,...)当您使用bindFromRequest.fold时,您没有更改userForm,而是使用{{1}中的映射信息生成案例类的新实例,比如userForm(或者包含错误的表单版本)。每次执行该方法时,您将获得userData的新实例。

userData返回一个新的表单实例,一个填充的表单实例,因此也不会更改userForm.fill(userData)本身。