2014-07-08 43 views
0

我试图让jQuery验证插件与bootbox.js(模态)一起使用。使用jQuery验证与Bootbox

我有模态中的表单需要验证的字段。

我已经创建了我的设置在这里的的jsfiddle:http://jsfiddle.net/rDE2q/

当您在模式点击创建会话按钮,应当确认的形式,但事实并非如此。

这里是我的代码:

$("[name=newSession]").click(function() { 
     bootbox.dialog({ 
      title: '<i class="fa fa-cog"/></i>&nbsp;&nbsp;New Session', 
      buttons: { 
       close: { 
        label: '<i class="fa fa-times"></i>&nbsp;&nbsp;Close', 
        className: "btn-danger", 
        callback: function() {} 
       }, 
       doAdd: { 
        label: '<i class="fa fa-check"></i>&nbsp;&nbsp;Create Session', 
        className: "btn-primary", 
        callback: function() { 

          //Validation 
          $('[name=newSessionForm]').validate({ 
           debug: true, 
           rules: { 
            sessionName: { 
             required: true, 
            }, 
            startDate: { 
             required: true, 
            } 
           }, 
           messages: { 
            sessionName: "Please enter a session name" 
           }, 
           highlight: function(a) { 
            $(a).closest(".form-group").addClass("has-error"); 
           }, 
           unhighlight: function(a) { 
            $(a).closest(".form-group").removeClass("has-error"); 
           }, 
           errorElement: "span", 
           errorClass: "help-block", 
           errorPlacement: function(a, b) { 
            if (b.parent(".input-group").length) a.insertAfter(b.parent()); else a.insertAfter(b); 
           }, 
           submitHandler: function() {} 
          }); 



         return false; 
        } 
       } 
      }, 
      message: '<form role="form" name="newSessionForm" id="newSessionForm">   <div class="form-group"> <label for="sessionName" class="text-primary">Session Name</label> <input type="text" class="form-control" id="sessionName" name="sessionName" placeholder="Session Name" required> </div> <div class="form-group"> <label for="startDate" class="text-primary">Start Date</label> <input type="text" class="form-control date" id="startDate" placeholder="Start Date"> </div> <div class="form-group"> <label for="endDate" class="text-primary">End Date</label> <input type="text" class="form-control date" id="endDate" placeholder="End Date"> </div></form>' 
     }); 
    }); 

回答

0

使用形式的唯一的ID!

$(document).ready(function(){ 
    $("#YourIdForm").validate(); 
});