たとえば、入力はnonEmptyText
とemail
である必要があります。play2で2つのバリデータをどのように組み合わせることができますか?
ユーザが何も入力しないと、エラーメッセージThe field is required
が表示されます。無効なメールが入力された場合は、Invalid email
と表示されます。
しかし、私は、私はちょうど1を使用することができますが見つかりました:
val loginForm = Form("email"->nonEmptyText)
か:以降の1のために
val loginForm = Form("email"->email)
をユーザが入力しない場合、それはまだある、Invalid email
が表示されます私が望むものではありません。
UPDATE1
私はJulien's answerを試してみました:
val loginForm = Form("email" -> (email verifying nonEmpty))
ユーザ入力は何も、エラーメッセージがなるとき:
Valid email required, This field is required
プレイがemail
の2つのエラーメッセージを組み合わせたように見えるとnonEmpty
一緒に、これは私が欲しいものではありません。
This field is required
ない:
Valid email required, This field is required
アップデート2私はそれが、helper.twitterBootstrapFieldConstructor.scala.html
である組み合わせのエラーを表示する理由を見つけ
ユーザーではない入力は、メッセージのみであるとき、私は願っています次のとおりです。
<span class="help-inline">@elements.errors(elements.lang).mkString(",")</span>
,
のエラー。
、それは次のようになります。ここでは
<span class="help-inline">@elements.errors(elements.lang).lastOption</span>
、lastOption
はnonEmpty
ためです。
しかし、私はheadOption
が優れていると思いますが、:
val loginForm = Form("email" -> (nonEmptyText verifying email))
が動作しない - そこemail
のない制約がありませんので、私たちは自分自身のための1つを定義したする必要がありますか?
ありがとう! 'email verify nonEmpty'は'() 'で囲まれているべきですか? – Freewind
更新された質問 – Freewind
を参照してください。2番目の問題は、現在のプレイ2のバグ(IMHO)です。0、[この問題](https://play.lighthouseapp.com/projects/82401/tickets/249-the-email-mapping-should-not-raise-a-validation-error-when-the-value- is-empty#ticket-249-1)。 あなたは '()'の方が正しいです –