javascript - 如何在rails的编辑表单中使用jquery验证来验证唯一的电子邮件ID
问题描述
我正在研究 ruby on rails 并在我的应用程序中使用 jquery 验证。在 Employee Master 中,新表单电子邮件 ID 唯一性远程工作正常,但在编辑表单电子邮件 ID 唯一性中,我正在使用相同的远程,远程呼叫与新页面相同。
employee_masters/新
员工编辑页面
employee_masters/12/edit 在此处输入图像描述
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
编辑错误消息时出现“电子邮件已存在”,请告诉我如何解决此问题,如何编写编辑验证表单的代码
解决方案
推荐阅读
- ruby-on-rails - Errno::EPIPE:http post multipart ruby 中的管道损坏
- javascript - 如何使用javascript仅从表单中提取所选信息并基于键和值创建字典?
- c - exec 导致程序的堆和栈等部分内存空间重新初始化
- postgresql - 使用 manage.py loaddata 加载数据时 Postgres 中的重复记录
- email - 为 sendmail 创建邮件列表
- html - 隐藏 Shopify Prestige 主题的未选择变体图像
- javascript - 从字符串 javascript 中删除元音,为什么我的解决方案不起作用?
- html - 是否可以在没有媒体查询的情况下为每个屏幕尺寸选择媒体?
- angular-material - 使用 Angular 材质位于页面底部的导航选项卡
- shell - 执行 sed 命令时,文件中的某些选项卡会转换为单个空格