我正在使用Rails 3.0.9,client_side_validation gem,并且只是尝试通过手动使用js和css文件来使用select2 gem

https://github.com/ivaynberg/select2/tags下载了文件

具有状态验证的简单表格

    <%= javascript "validations/rails.live.validations", "select2.min"%>
    <%= stylesheet "select2"%>
    <script type="text/javascript" charset="UTF-8">
        $(document).ready(function() {
            $("#user_tag_ids").select2();
             });
    </script>
    <%= form_for @user, :validate => true do |f| %>
        <%= f.label :tag_ids %><%= mark_required(@user, :tag_ids) %>
        <%= f.collection_select(:tag_ids, @hobbies, :id, :display_name, {:prompt => "please select"}, :multiple => true) %>
        <%= f.submit %>
    <% end %>


现在,选择框的用户界面已按预期更改,

但是,当光标被聚焦而没有选择任何值时,则client_side_validation gem应该显示一条错误消息,但不显示任何消息(即使error_field类也没有设置为该字段)。

select2 gem是否忽略/跳过以呈现错误消息?

如果我单击提交按钮,那么只有我收到(client_side_validation gem)错误消息。

有解决的办法吗?

最佳答案

将验证添加到javascript中的当前设置对象。例

var validators = window[$('#place_order_form').attr('id')].validators

var input_name = $("#user_tag_ids").attr('name');
validators[input_name] = {"presence":{"message":"Must be filled"}}


参考:https://github.com/bcardarella/client_side_validations/issues/149

关于jquery - 与select2 gem的rails v3忽略client_side_validation错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14415972/

10-09 18:04
查看更多