Javascript 对于具有相同名称的rails表单,jquery验证消息使用ID而不是名称
嗨,我有rails表单,包括电子邮件、姓名等;带问题的字段名来自yml文件。对于3组问题,用户必须分别填写3个答案 表格: 对于上述js,只有第一个答案文本框验证有效,其余两个答案文本框无效。我认为我的验证器使用的是名称而不是ID。有没有办法用ID运行我的验证?为什么不这样做Javascript 对于具有相同名称的rails表单,jquery验证消息使用ID而不是名称,javascript,jquery,ruby-on-rails,ruby,validation,Javascript,Jquery,Ruby On Rails,Ruby,Validation,嗨,我有rails表单,包括电子邮件、姓名等;带问题的字段名来自yml文件。对于3组问题,用户必须分别填写3个答案 表格: 对于上述js,只有第一个答案文本框验证有效,其余两个答案文本框无效。我认为我的验证器使用的是名称而不是ID。有没有办法用ID运行我的验证?为什么不这样做 使用此插件时,只能使用名称而不是id进行验证。因此,如果您试图使用相同的名称创建多个文本字段,则无法使用。也许给出答案字段的名称,如ans_1,ans_2等,然后它就可以工作了。。。 <% @list =
使用此插件时,只能使用名称而不是id进行验证。因此,如果您试图使用相同的
名称创建多个文本字段,则无法使用。也许给出答案字段的名称,如ans_1
,ans_2
等,然后它就可以工作了。。。
<% @list = YAML::load(File.open("#{Rails.root}/config/questions.yml"))%>
<% ans_iter= 0 %>
<% @list.keys.each do |set| %>
<% ans_iter += 1 %>
<%= select_tag 'questions[]',options_for_select(@list[set]) %>
<%= text_field_tag "answers[]", nil, :class => 'required', :id => "ans_#{ans_iter}"%>
<% end %>
validator = $('#new_user').validate({
rules: { user_first_name:{ required:true},
user_email: { required:true},
ans_1: {required:true},
ans_2: {required:true},
ans_3: {required:true} },
messages: {
user_first_name:{ required: "Please enter First Name"},
user_email: { required: "Please enter Email"},
ans_1: {required: "Please fill the answer"},
ans_2: {required: "Please fill the answer"},
ans_3: {required: "Please fill the answer"} }
}); }
'answers[]': {required:true}
'answers[]': {required: "Please fill the answer"}