2013-04-28 73 views
0

我正在使用bootbox对话框的窗体(只有一个文本框和一个textarea),我想用jQuery验证插件验证它。bootbox和jquery验证

这里是我的代码

var templateDialog="<form action=\"#\" id=\"create-form\" name=\"create-form\" class=\"form\" method=\"post\">"+ 
"<div class=\"controls\">"+ 
"<input type=\"text\" id=\"field1\" name=\"field1\" />"+ 
"</div>"+ 

"<div class=\"controls\">"+ 
"<textarea id=\"field2\" name=\"field2\" rows=\"13\"></textarea>"+ 
"</div>"+ 
"</form>"; 


bootbox.dialog(templateDialog, 
[{ 
    "label" : "Cancel", 
    "class" : "btn", 
    "callback": function() { 

    } 
    }, { 
     "label" : "Save", 
     "class" : "btn-primary", 
     "callback": function() { 

     $('#create-form').validate({ 
      errorElement: 'span', 
      errorClass: 'errorblock', 
      focusInvalid: false, 
      errorContainer: ".alerterror", 
      ignore: "", 
      rules: { 
        field1: { 
        required: true 
        }, 
        field2: { 
        required: true 
        } 
      }, 

      errorPlacement: function (error, element) { 
       $(element).closest('.controls').append(error); 
       console.log(element); 
      }, 

      submitHandler: function (form) { 
         //manual submit 
      } 
     }); 


       return false; 
      } 
     }] 
     , 
     { 
      header: 'Create', 
      css: 'large-modal' 
     } 
     ); 

上面我没有得到任何错误,也是我没有得到成功的警报代码,我在做什么错?

感谢

回答

0

使用的liveQuery插件添加验证以这样的形式here

的;

$('#create-form').livequery(function(){ 
    $(this).validate({ 
     ..... 
     ..... 
    }); 
}); 
+0

对不起,但我不是我明白你的意思。 – ntan 2013-04-28 07:11:15

+0

对不起,更改了代码... – 2013-04-28 07:14:44

+0

我得到一个错误,该对象没有方法livequery,但我不认为这是问题,我有访问形式和表单元素事件与您的直播活动。 – ntan 2013-04-28 07:19:35