使用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