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>

最後の 2 つのスパンに出てくるテキストを翻訳したいと思います。

編集:ドキュメントから 翻訳がどのように機能するかは既に知っています。記載されていないのは、フィールドの制約が満たされていない場合に表示されるメッセージ (エラー メッセージ) と一般情報のデフォルト メッセージ 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(master ブランチ)に実装されている ID は次のとおりです。

  • nonEmpty'required(つまり、属性 を持つフィールド)
    • 情報:constraint.required
    • エラー:error.required
  • min(つまり、'min属性を持つフィールド; 1 つのパラメーターを持つメッセージ)
    • 情報:constraint.min(minValue)
    • エラー:error.min(minValue)
  • max(つまり、'max属性を持つフィールド; 1 つのパラメーターを持つメッセージ)
    • 情報: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 に答える