0

PlayFramework2.0.1を使用しています。jqueryポップアップにフォームがあり、サーバー側で検証し、ポップアップを閉じずに検証メッセージを表示する必要があります。

zenタスクの例で示したようにjavaスクリプトルートを使用しようとしましたが、クライアント側からajax呼び出しを行う例はないと思います。

PlayFramework2.0でajaxを使用する他の例は見つかりませんでした。

どんな助けでも大歓迎です。

ありがとうございました。

4

2 に答える 2

2

クライアント側では、すべてのフォーム入力を収集する独自のjavascript関数を呼び出すことができます。

$("#myForm").submit(function(evt) {
    evt.preventDefault();
    $.ajax({
        type: "POST",
        url: "@routes.MyController.myMethod()",
        data: { username: $("#myForm #username").val(), age: $("#myForm #age").val() },
        dataType: "json",
        success: function(data, textStatus, jqXHR) {
            console.log("Success of call");
            //Do what you want here
            //For example close the jquery opened panel
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log("Failure of call");
        }
    }
    return false;
});

サーバー側では、着信リクエストを他のものと同じように扱います(これはscalaの例であり、Javaに適合させます):

def connectWithFB = Action { implicit request =>
    Form(tuple("username" -> nonEmptyText, "age" -> nonEmptyText)).bindFromRequest.fold(
        errors =>  {
            BadRequest(toJson(Map("status" -> "0", "error" -> "Missing fields or wrong field")))
        },
        success => {
            Ok(toJson(Map("status" -> "1")))
        }
    )
}
于 2012-05-24T09:01:49.527 に答える
0

例として、ブートストラップを使用すると、検証を非常に簡単に行うことができます。

<div class="form-group" style="position:relative;left:20px;">
   <label class="sr-only" for="exampleInputEmail2"><strong>  Genre</strong>
            </label>
     <input type="text" name="genre" required />


     </div>

あなたがしなければならないのはそれがそのように必要であると言うことです

<input type="text" name="genre" required />

乾杯

于 2013-08-29T07:30:06.410 に答える