Play中的变量/自定义错误消息! 2框架scala形式

时间:2012-10-14 16:41:46

标签: scala playframework-2.0

我想在Play框架中进行表单验证,以根据验证的附属结果生成可变错误消息。我怎么能干净利落地做到这一点?

具体示例 - 假设我有一个定义的表单:

  val f = Form(
    "xml" -> text
      .verifying(
        "xml is incorrect",
        xml => validationError(xml) == None
      )
  )

  def validationError(xml: String): Option[String]

如何将validationError返回的字符串显示为验证错误消息,而不是固定字符串“xml不正确”,我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以创建将处理它的Constraint实例。例如:

val xmlConstraint = Constraint[String](Some("xml.constraint"), Nil)( xml =>
  validationError(xml).map(msg => Invalid(ValidationError(msg))).getOrElse(Valid)
)

val f = Form("xml" -> text.verifying(xmlConstraint))

此外,Constraint对象上还有另一个apply方法,但未指定约束名称。