Javascript 对于具有相同名称的rails表单,jquery验证消息使用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 =

嗨,我有rails表单,包括电子邮件、姓名等;带问题的字段名来自yml文件。对于3组问题,用户必须分别填写3个答案

表格:

对于上述js,只有第一个答案文本框验证有效,其余两个答案文本框无效。我认为我的验证器使用的是名称而不是ID。有没有办法用ID运行我的验证?

为什么不这样做


使用此插件时,只能使用名称而不是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"}