client_side_validations无法使用 Devise + Rails 3.2.1

client_side_validations not working with devise + rails 3.2.1

提问人:devguy 提问时间:3/6/2012 最后编辑:Communitydevguy 更新时间:6/18/2012 访问量:971

问:

我无法用client_side_validations和设计来解决问题。我正在使用带有电子邮件、密码和密码确认的简单表格。

如果我退出任何字段,我不会收到错误。提交后,我只看到服务器端错误。

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

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

Rails 3:client_side_validations gem 并设计密码验证

对 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 个,则按 tab 键输出,我会收到一个错误,说我需要输入至少 6 个字母,其中一个必须是数字?错误发生后,在密码字段中输入的任何内容都会被删除,如果我尝试输入某些内容,密码字段会一直被清空!

Ruby-on-Rails 设计客户端 验证

评论


答:

0赞 eWizardII 3/7/2012 #1

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

评论

0赞 devguy 3/9/2012
这不是 jQuery 的问题,它免费包含在 Rails 3.2 中,我在其他视图中使用 jQuery OK
0赞 eWizardII 3/10/2012
您是否在任何地方设置了它,并带有我可以查看的存储库或演示站点?
0赞 Marc V 6/18/2012 #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”

它起作用了,尽管我没有看到错误消息。