Jquery 播放框架-删除空表单条目

Jquery 播放框架-删除空表单条目,jquery,forms,playframework,playframework-2.3,Jquery,Forms,Playframework,Playframework 2.3,我有一个剧本!2.3从请求绑定的表单对象。表单对象基本上如下所示: val languagesForm = Form( mapping( "languages" -> list(text) )(apply)(unapply) ) def removeEmptyEntries(map: Map[String, Seq[String]]): Map[String, Seq[String]] = { map.filter(_._1.nonEmpty).map

我有一个剧本!2.3从请求绑定的表单对象。表单对象基本上如下所示:

val languagesForm = Form(
    mapping(
      "languages" -> list(text)
    )(apply)(unapply)
)
def removeEmptyEntries(map: Map[String, Seq[String]]): Map[String, Seq[String]] = {
    map.filter(_._1.nonEmpty).map { case (a, b) =>
      (a, b.filter(_.nonEmpty))
    }.filter(_._2.nonEmpty)
  }
def post = Action(parse.urlFormEncoded) { implicit request =>
    languagesForm.bindFromRequest(removeEmptyEntries(request.body))

    ...
}

我有一些jQuery代码,它在我的HTML表单中添加了一个新的
语言[1]
,但总是会有一个空的输入提交,这会影响我的游戏!包括作为条目。如何删除这些空条目

在将控制器方法传递到表单之前,需要过滤控制器方法中所有已发布的值。生成的代码如下所示:

val languagesForm = Form(
    mapping(
      "languages" -> list(text)
    )(apply)(unapply)
)
def removeEmptyEntries(map: Map[String, Seq[String]]): Map[String, Seq[String]] = {
    map.filter(_._1.nonEmpty).map { case (a, b) =>
      (a, b.filter(_.nonEmpty))
    }.filter(_._2.nonEmpty)
  }
def post = Action(parse.urlFormEncoded) { implicit request =>
    languagesForm.bindFromRequest(removeEmptyEntries(request.body))

    ...
}
然后,在控制器内,您可以执行以下操作:

val languagesForm = Form(
    mapping(
      "languages" -> list(text)
    )(apply)(unapply)
)
def removeEmptyEntries(map: Map[String, Seq[String]]): Map[String, Seq[String]] = {
    map.filter(_._1.nonEmpty).map { case (a, b) =>
      (a, b.filter(_.nonEmpty))
    }.filter(_._2.nonEmpty)
  }
def post = Action(parse.urlFormEncoded) { implicit request =>
    languagesForm.bindFromRequest(removeEmptyEntries(request.body))

    ...
}

map
上的第一个过滤器可能是多余的,但我添加了它以防万一。按原样使用此代码,它应该可以正常工作。我正在使用Scala 2.11