使用Devise进行客户端validation
我正在尝试使用带有Devise的client_side_validations gem来validation设计注册表单。
validation可以正常使用其他所有内容,而不是Devise生成的表单。
我添加了相关的:validate => true但是validation只有在我点击提交不在选项卡上时才有效,就像在其他表单上一样。
Sign up
true, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
"btn btn-primary btn-large" %>
Argc,argv! 我正在使用Rails 3.2.1,gem的最新版本与3.2不相容,因此是噩梦。 使用3.2.0.beta.2修复了这些问题。 谢谢!
尝试直接在字段上输入:validates => true,如下所示:
Sign up
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> <%= devise_error_messages! %> <%= f.label :username %> <%= f.text_field :username, :validate => true %> <%= f.label :email %> <%= f.email_field :email, :validate => true %> <%= f.label :password %> <%= f.password_field :password, :validate => true %> <%= f.label :password_confirmation %> <%= f.password_field :password_confirmation, :validate => true %>
<%= f.submit "Sign up", :class => "btn btn-primary btn-large" %> <% end %> <%= render "links" %>
换线
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
至
<%= form_for(@user, :url => registration_path(resource_name), :validate => true) do |f| %>
我还没有广泛使用过client_side_validations gem。 但从它的外观来看,它需要在表单(和表单元素)标签中使用data-validate =“true”。
你在输出html表单中找到它,如:
如果找不到,可能需要像这样编写form_for:
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), {:validate => true}) do |f| %>
有帮助吗?
要使用稳定版本,请使用支持rails 3.2.x的最新稳定版3.0.3