【问题标题】:client_side_validations not working with devise + rails 3.2.1client_side_validations 不适用于设计 + rails 3.2.1
【发布时间】:2012-06-18 02:57:32
【问题描述】:

我无法让事情与 client_side_validations 和设计一起工作。我正在使用带有电子邮件、密码和密码确认的简单表单。

如果我跳出任何字段,我不会得到错误。我提交后才看到服务器端错误。

我使用的是 Rails 3.2.1,按照 gems github 上的步骤进行操作,我没有使用 formtastic 或 simple_form。我已取消注释 client_side_validations.rb 中的代码

我已经尝试过这里的建议,

Rails 3: client_side_validations gem and devise password validations

对 app/views/devise/registrations/new/html.erb 进行了更改,但它对我不起作用。

<h2>Register</h2>
<div class="register_form">
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true) do |f| %>

  <%= devise_error_messages! %>

  <div><%= f.label :email %><br />
  <%= f.email_field :email, :validate => true %></div>

  <div><%= f.label :password %><br />
  <%= f.password_field :password, :validate => true %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation, :validate => true %></div>

  <div><%= f.submit "Sign up" %></div>
<p>
<%= render 'links' %>
</p>
<% end %>
</div>

此外,我偶尔会看到密码字段出现错误。如果我输入的字母少于 6 个,请使用制表符,我会收到一条错误消息,提示我需要输入至少 6 个字母,并且一个必须是数字?出错后,密码字段中输入的任何内容都会被删除,如果我尝试输入某些内容,密码字段会一直显示为空白!

【问题讨论】:

    标签: ruby-on-rails devise client-side-validation


    【解决方案1】:

    所以我现在刚刚解决了同样的问题,最大的问题似乎是 jQuery 你是否正确设置了它?如果您检查您的页面,您应该会看到 jQuery 已包含在内 - 如果没有,那就是那里的问题,在这种情况下您需要为它安装 gem。

    【讨论】:

    • 这不是 jquery 的问题,它免费包含在 rails 3.2 中,我在其他视图中使用 jquery ok
    • 你是否在任何地方设置了我可以查看的 repo 或演示站点?
    【解决方案2】:

    发生在我身上,似乎 client_side_validations 3.1.4 或更低版本与 Rails 3.2.1 或更高版本不兼容。我使用的是 Rails 3.2.6,所以使用

    尝试了 beta gem

    gem "client_side_validations", "~> 3.2.0.beta.3"

    虽然我没有看到错误消息,但它确实有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多