2012-05-24 70 views
0

我使用的播放框架2.0.1。我有一个jQuery的弹出式窗体,我必须在服务器端进行验证,并显示验证消息WITHOUT CLOSING弹出。服务器端验证弹出

我试图用java脚本路线作为禅宗任务例子给出的,但我觉得没有例子,使从客户端Ajax调用。

我找不到在游戏框架2.0使用AJAX任何其他例子。

任何帮助表示赞赏。

谢谢。

回答

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; 
}); 

在服务器端,你将把传入请求的任何其它的(这是斯卡拉例子,适应它为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"))) 
     } 
    ) 
} 
+0

非常感谢你为你的即时响应。你能解释一下如何调用java脚本方法吗?因为我是jquery的新手。我有以下代码。 @ helper.form(动作= routes.Drabble.submit,“ID - > “myForm会”){ @inputText(drabbleForm( “标题”))},即使没有输入必填字段,弹出窗口也会关闭。请帮忙。 –

+0

你应该考虑在不同的StackOverflow线程中分割你的问题。 JavaScript,jQuery,Ajax,Play模板和Play控制器是非常不同的主题。如果你不了解其中的一个问题,就可以在SO上提出一个非常具体的问题。 – iwalktheline

+0

感谢kheraud的回应。 –

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> 

所有你需要做的是说,it's需要像

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

干杯