2015-05-06 40 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