2015-05-06 37 views
0

我有一個表單,我正在驗證使用jQuery的Validator插件。如何刪除Jquery驗證點擊一個按鈕

一切工作正常,除了這種情況。

Initaiily沒有填寫表格,點擊提交按鈕(驗證消息被填充)

現在點擊編輯按鈕,一些默認值被添加到表單字段

我的問題是,一旦我點擊編輯按鈕,我如何刪除驗證部分?

$(function() { 
    $('#mangementform').validate({ 
     rules: { 
      empid: { 
     required: true, 
     minlength: 3, 
     maxlength: 25, 
     digits: true, 
      label_exist:true 
    }, 
      empname: { 
     required: true, 
      minlength: 3, 
     maxlength: 25, 
     lettersonly:true 
    }, 
     }, 
     messages: { 
      empid: { 
       required: "id required " 
      }, 
      empname: { 
       required: "emp name required ", 
      } 
     }, 
     submitHandler: function(event, validator) { 
      submitMangementForm(); 
      return false; 
     } 
    }); 
}); 

function submitMangementForm() 
{ 
    $("#empid").val(''); 
    $("#empname").val(''); 
    alert('ajax call to submit to Database'); 
} 

$(document).on('click', '.editbtn', function (e) { 
    $("#empid").val('123'); 
    $("#empname").val('test'); 

}); 

我想diable驗證只爲編輯,而不是提交。

你能幫我解決嗎?

http://jsfiddle.net/5RrGa/1413/

+0

你是否試圖完全跳過驗證,如果編輯按鈕被按下? – SSA

+0

是的,我跳過驗證,如果編輯按鈕被按下 – Kiran

回答

1

根據評論中的說明。您可以嘗試在提交按鈕上添加formnovalidate屬性。

給導致提交的按鈕提供一個id。

<button id="submitbutton" class="btn btn-primary pull-right">Submit</button> 

,然後裏面編輯按鈕單擊事件處理程序中添加formnovalidate:

$(document).on('click', '.editbtn', function (e) { 
    $("#empid").val('123'); 
    $("#empname").val('test'); 
    // To Reset the previous error messages 
    $("#mangementform").validate().resetForm(); 
    $('#submitbutton').attr('formnovalidate',''); 

}); 

更新您的fiddle

+0

我測試了你的小提琴,最初我點擊提交,顯示驗證消息,然後我點擊編輯仍然看到驗證消息。 – Kiran

+0

檢查更新的答案。您可以重新驗證並重置表單。 $( 「#mangementform」)驗證()resetForm()。 http://jsfiddle.net/5RrGa/1419/ – SSA

+0

非常感謝你,完美的工作。 – Kiran