2013-04-28 91 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