7

Scalaフォームヘルパーで「nonEmptyText」コンスタントを使用する場合、デフォルトのエラーメッセージ「このフィールドは必須です」をカスタマイズしたいと思います。

これが私がカスタマイズしたい例です:

  val form = Form(
    tuple("email" -> nonEmptyText, "password" -> nonEmptyText)
      verifying ("Invalid email or password.", result => result match {
        case (email, password) => {
          User.authenticate(email, password).isDefined
        }
      }))

最適には、conf / messagesファイルで、フィールド固有のエラーを提供できます。

error.email.required=Enter your login email address
error.password.required=You must provide a password

しかし、最悪の場合、フィールド名を使用したワイルドカードメッセージで満足します。

error.required=%s is required  
#would evaluate to "password is required", which I would then want to capitalize

一部のPlay1.xドキュメントでこの%s式を見ましたが、もう機能していないようです。

よろしくお願いします!

4

1 に答える 1

8

の使用法を削除し、カスタム検証でnonEmptyText単純なフィールドを使用してみてください。text

tuple(
  "email" -> text.verifying("Enter your login email address", _.isDefined),
  "password" -> text.verifying("You must provide a password", _.isDefined)
)

次に、さらに一歩進んで、句のString内側をオブジェクトの呼び出しと交換できます。verifyingplay.api.i18n.Messages

tuple(
  "email" -> text.verifying(Messages("error.email.required"), _.isDefined),
  "password" -> text.verifying(Messages("error.password.required"), _.isDefined)
)

これはテストされていないコードですが、方向を示している必要があることに注意してください。

幸運を

于 2012-10-17T23:35:09.860 に答える