I am working on ruby on rails and using jquery validation in my application. In Employee Master new form email id uniqueness remote is working fine but in edit form email id uniqueness same remote i am using, remote call is working same as new page.
employeee_masters/new
employee edit page
employee_masters/12/edit enter image description here
employee_masters/new.html.erb
<%= form_for(@employee_master, :html => {class: "form-horizontal",id: "employee_validation"}) do |f| %>
<div class="form-horizontal ">
<div class="form-group">
<label class="required col-sm-3 control-label" for="textInput-modal-markup">First Name</label>
<div class="col-sm-8">
<%= f.text_field :fname, class:"form-control" %></div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="textInput-modal-markup">Middle Name</label>
<div class="col-sm-8">
<%= f.text_field :mname, class:"form-control" %></div>
</div>
<div class="form-group">
<label class="required col-sm-3 control-label" for="textInput-modal-markup">Last Name</label>
<div class="col-sm-8">
<%= f.text_field :lname, class:"form-control" %></div>
</div>
<div class="form-group">
<label class="required col-sm-3 control-label"
for="textInput-modal-markup">Email Id</label>
<div class="col-sm-8">
<%= f.text_field :email_id, class:"form-control" %>
</label>
</div>
</div>
<p style="float:right;">
<%= f.submit "Save" ,style:"float:right", class:"btn btn-
primary btn-xs" %> <p>
<br>
<hr>
</div>
employee_masters/edit.html.erb
<%= form_for(@employee_master, :html => {class: "form-horizontal",id: "employee_validation"}) do |f| %>
<div class="form-horizontal ">
<div class="form-group">
<label class="required col-sm-3 control-label" for="textInput-modal-markup">First Name</label>
<div class="col-sm-8">
<%= f.text_field :fname, class:"form-control" %></div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="textInput-modal-markup">Middle Name</label>
<div class="col-sm-8">
<%= f.text_field :mname, class:"form-control" %></div>
</div>
<div class="form-group">
<label class="required col-sm-3 control-label" for="textInput-modal-markup">Last Name</label>
<div class="col-sm-8">
<%= f.text_field :lname, class:"form-control" %></div>
</div>
<div class="form-group">
<label class="required col-sm-3 control-label"
for="textInput-modal-markup">Email Id</label>
<div class="col-sm-8">
<%= f.text_field :email_id, class:"form-control" %>
</label>
</div>
</div>
<p style="float:right;">
<%= f.submit "Save" ,style:"float:right", class:"btn btn-
primary btn-xs" %> <p>
<br>
<hr>
</div>
employee_master_validation.js
$( "#employee_validation" ).validate({
errorElement: 'span',
errorClass: 'desc',
ignore: ':hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input',
rules: {
"employee_master[fname]" : { required: true, lettersonly:true, minlength:3,maxlength:25 },
"employee_master[lname]" : {required: true, lettersonly:true,minlength:1,maxlength:25 },
"employee_master[email_id]" : {required: true, email: true,remote: "/employee_masters/check_email_id/"}
},
messages: {
"employee_master[fname]" : { required: "Fname is required", lettersonly:"Enter only letters" ,
minlength: "Fname should be atleast 3 charecter",
maxlength: "Fname should not be more than 25 charecter"},
"employee_master[lname]" : {required: "Last name is required", lettersonly:"Enter only letters",
minlength: "Lname should be atleast 1 charecter",
maxlength: "Lname should not be more than 25 charecter" },
"employee_master[email_id]" : {required: "Email id is required", email: "Enter valid email id",remote: "Email Id already Exists"},
},
highlight: function (element) {
$(element).closest('.col-sm-8').removeClass('success').addClass('has-error');
},
success: function (element) {
element.addClass('valid').closest('.col-sm-8').removeClass('error').addClass('has-success');
}
});
employee_master_controllers.rb
def check_email_id
@employee=
EmployeeMaster.find_by_email_id(params[:employee_master]
[:email_id])
respond_to do |format|
format.json {render :json => !@employee}
end
end
While editing error message is coming "Email is already Exists " ,please tell me how to resolve this issue, how to write a code for edit validation form