1

Play フレームワークのフォーム検証で、検証の付随的な結果に応じてさまざまなエラー メッセージが生成されるようにしたいと考えています。どうすればこれをきれいに行うことができますか?

具体的な例 -- 次のように定義されたフォームがあるとします。

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

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

修正された文字列「xml が正しくありません」ではなく、validationError によって返された文字列を検証エラー メッセージとして表示するにはどうすればよいですか?

4

1 に答える 1

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))

また、制約の名前を指定せずapplyにオブジェクトに別のメソッドがあります。Constraint

于 2012-10-14T17:46:12.753 に答える