如何组织在客户端验证表单?

时间:2012-11-25 20:37:48

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

我有模态窗口,它通过ajax弹出(我的数据和表单正在这个模态窗口中加载)。

我的模态和形式

<div id="name_modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"></div>

部分与模态身体

<div class="modal-body">
<%= form_for(@user, :url => update_name_user_registration_path,
  :html => { :id => "form_name_phone", :method => :put }, :remote => true) do |f| %>

       <div><%= f.label :name, t('form.name') %><br />
        <%= f.text_field :name %></div>
        <div><%= f.label :phone_number %><br />
        <%= t('form.phone_notice' )%><br />
        <%= f.text_field :phone_number, :maxlength => 10 %></div> 

  <div><%= f.submit t('users.update') %></div>
<% end %>
</div>

然后我也通过AJAX发送数据。

如何组织在客户端验证此表单?

1 个答案:

答案 0 :(得分:1)

检查此rails cast client side validation。此gem将帮助您验证表单或每个元素上的所有元素。它使用您在模型中定义的验证。

示例,如果您的用户模型具有此验证:

validates :name, presence: true

然后在表单中添加validate: true

<%= form_for(@user, validate: true, :url => update_name_user_registration_path,
  :html => { :id => "form_name_phone", :method => :put }, :remote => true) do |f| %>

这将检查表单上的name是否必须存在。如果您对模型中的其他属性进行了验证,那么它们也将得到验证。