Scala / Play2 - 基于复选框值的动态约束

时间:2014-10-01 10:37:29

标签: scala playframework playframework-2.3

我有一个创建复选框和文本输入字段的模板:

@helper.checkbox(inputForm("live"), 'checked -> true, 'onclick -> "hideTextFields()")
@helper.inputText(inputForm("target"), 'disabled -> true)

取消选中该复选框后,文本字段将变为可见(反之亦然)。这是在一个名为hideTextFields()的javascript函数中完成的。

现在,在控制器中我需要一个约束,一旦取消选中复选框,就会强制文本输入字段。

我有一个映射:

"live" -> boolean
"target" -> nonEmptyText

但这总是需要指定目标。

如何根据复选框的状态为文本输入字段实现动态约束。 Play是版本2.3.4。

谢谢你,最诚挚的问候!

1 个答案:

答案 0 :(得分:0)

查看有关映射的验证方法,您可以从tuple()mapping()

返回

简单示例:

val sample = Form(
  tuple(
    "checkbox" -> boolean,
    "text" -> text
  ).verifying(
    "If checkbox checked text cannot be empty", 
    (tuple) => !tuple._1 || tuple._2.nonEmpty)
  )

您可以在"定义临时约束"下找到另一个示例。在播放框架文档中:The playframework docs