2017-06-30 21 views
1

私はPlay Framework 2.6を学習しています。フォームを正しく使用し、テンプレート内のデータにアクセスする方法をお尋ねします。私はその文書からあまり賢明ではない。コントローラーでPlay Framework 2.5/2.6 and form in scala.htmlテンプレート

は、私はテンプレートにこれを送る:HTMLのScalaのテンプレートで

Form<LoginForm> loginForm = formFactory.form(LoginForm.class).bindFromRequest(); 

if (loginForm.hasErrors()) { 
    return ok(userLoginForm.render(loginForm)); 
} 

、私は、サーバーにフォームのPOSTを行った後、私は@form印刷する場合、私は

@(form: Form[LoginForm]) 

content of @form=  
Form(of=class controllers.forms.LoginForm, data={Submit=Login, password=12, email=mail}, 
value=Optional[[email protected]], 
errors=[ValidationError(email,[Please use email in proper format.],[]), ValidationError(password,[Password must be longer than 3 characters],[]), ValidationError(,[Please fix all errors.],[])]) 
を取得します

どのように私は(@form ... XYZを使用して....)テンプレートから、これらのデータにアクセスすることができます。この場合には、電子メールの値を表示する方法

  1. それは "メール"を表示します
  2. パスワード値を表示する方法は、この場合、 "12"を表示します
  3. グローバルエラーメッセージ(またはそれ以上の場合は最初のもの)を表示する方法、すべてのエラーを修正してください。我々の場合
  4. に、私は私の質問のいくつかを把握することができたパスワード
+0

フォームのドキュメントを読んだことがありますか?それは答えて、それぞれの質問の例がありますhttps://www.playframework.com/documentation/2.6.x/ScalaForms#toolbar – EdgeCaseBerg

+0

はい、Javaの部分のため...しかし、私はそれらによって生成された

を使用したくない、私はそれらを自分で書くので、私はそれらのデータにアクセスする方法を知らない。週末にもっと試してみるよ。 Playフレームワーク2.6の –

答えて

0

に関連付けられたエラーメッセージを表示する方法電子メール

  • に関連付けられたエラーメッセージを表示する方法。

    電子メールの値を取得するには:1つのグローバルエラーメッセージを取得するには

    @form.data.get("password") 
    

    :パスワードの値を取得するには

    @form.data.get("email") 
    

    @if(!form("").errors.isEmpty()) { 
        @form("").errors.get(0).message() 
    } 
    

    を(私がに好みますグローバルエラーをflash()に入れます)

    すべての「電子メール」のエラーメッセージを一覧表示するには

    @for(error <- form("email").errors) { 
        @error.message 
    } 
    

    私は、よりエレガントな解決策があるかもしれません知っているが、これは私が今持っているものです。

  • +0

    では、@ form.rawData.get( "email")を使用できます –

    関連する問題