如何国际化 Play 2.5 中的表单约束?

How to internationalize form constraints in Play 2.5?

我想将 Play 2.5 (Scala) 返回的表单错误国际化,例如当用户提交的字段长度为 2 且要求为 3 时,我在 Firefox 中得到以下英文错误: "Minimum length is 3"。 (该项目使用法语,站点的其他部分通过使用 conf/messages.fr 文件以法语显示)。

import play.api.data.Form
import play.api.data.Forms.{ mapping, text }

case class NewsData(title: String, rawHTML: String)

object AllForms {
  val newsForm: Form[NewsData] = Form {
  mapping(
    "title" -> text(minLength = 3, maxLength = 255),
    "rawHTML" -> text(minLength = 3, maxLength = 19999)
  )(NewsData.apply)(NewsData.unapply)
  }
}

我在 Play 的源代码中发现它在内部使用 以下消息:error.min in Play 2.5 Validation.scala 但将其放入 conf/messages.fr 不起作用。

本地化的正确方法是什么?

您使用了错误的密钥。

改为键error.min corresponds to Must be greater or equal to {0}. You should use error.minLength,对应Minimum length is {0}