1

我想为views.html.helpers._输入生成的标记翻译默认约束和错误消息。我在文档中找不到它,并且已经开始浏览代码,但是如果有人比我快,请回答并获得奖励。

这是示例模板代码:

@inputText(regForm("Login"), 'id-> "username", 'placeholder -> "Login", 'required -> "yes", 'autofocus -> "yes")

这是生成的 HTML:

<div id="username_field" class="error clearfix">
<div class="input">

<input type="text" id="username" name="Login" value="" id="username" placeholder="Login" required="yes" autofocus="yes">

  <span class="help-inline">This field is required</span>
  <span class="help-block">Required</span>
</div>

我想翻译出现在最后两个跨度中的文本。

编辑:我已经从文档中 知道翻译是如何工作的。没有说明的是,对于未满足字段约束的消息(错误消息)和一般信息,显示了默认消息 ID。

4

2 回答 2

3

您必须在自己的文件中覆盖源消息文件messages.xy中的标签。

如果默认语言的文件没有 lang 扩展名,也请看一下其他答案。AFAIK 它在那个答案之后得到了修复,但是如果你检查它并在评论中确认当前状态会很酷。

于 2012-09-25T12:35:18.133 回答
0

浏览我在文档中找到的代码。在Constraints trait 文档中简短地提到了这些键。您必须展开约束生成器的定义才能阅读它。表单处理文档中介绍了如何使用约束。但是还有另一种方法没有涵盖 - 通过使用像这里这样的输入属性:

@inputText(regForm("Login"), 'id-> "username", 'placeholder -> "Login", 'required -> "yes", 'autofocus -> "yes")

以下是/Play20/framework/src/play/src/main/scala/play/api/data/validation/Validation.scala(主分支)中实现的 ID:

  • nonEmpty(即有'required属性的字段)
    • 信息:constraint.required
    • 错误:error.required
  • min(即带有'min属性的字段;带有一个参数的消息)
    • 信息:constraint.min(minValue)
    • 错误:error.min(minValue)
  • max(即带有'max属性的字段;带有一个参数的消息)
    • 信息:constraint.max(maxValue)
    • 错误:error.max(maxValue)
  • minLength(即有'minLength属性的字段)
    • 信息:constraint.minLength(length)
    • 错误:error.minLength(length)
  • maxLength(即有'maxLength属性的字段)
    • 信息:constraint.maxLength(length)
    • 错误:error.maxLength(length)
  • pattern(即有'regex属性的字段)
    • 信息:constraint.pattern(regex)
    • 错误:error.pattern(regex)

上面提到的属性是在 HTML5 中引入的,所以它们不会被所有浏览器处理,但是框架验证会处理它。

于 2012-09-25T21:05:21.520 回答