提问人:devguy 提问时间:3/6/2012 最后编辑:Communitydevguy 更新时间:6/18/2012 访问量:971
client_side_validations无法使用 Devise + Rails 3.2.1
client_side_validations not working with devise + rails 3.2.1
问:
我无法用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 个字母,其中一个必须是数字?错误发生后,在密码字段中输入的任何内容都会被删除,如果我尝试输入某些内容,密码字段会一直被清空!
答:
所以我现在遇到了同样的问题,现在解决了它,最大的问题似乎出在jQuery上,你设置正确了吗?如果你检查你的页面,你应该看到jQuery被包括在内 - 如果没有,那就是问题所在,在这种情况下,你需要为它安装gem。
评论
发生在我身上,似乎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”
它起作用了,尽管我没有看到错误消息。
评论