【问题标题】:Validate multiple fields in rails in the form在表单中验证rails中的多个字段
【发布时间】:2015-01-20 06:00:15
【问题描述】:

我的应用中有这个表单,我想验证表单的几个字段。 IE。我想在表单提交期间将它们作为必填字段。

有什么方法可以让我不必使用任何 gem 或任何可以直接完成此特定任务的好 gem?

<div class="col-md-4">
  <div class="form-group">
    <div class="field">
      <%= f.label :name %><br />
      <%= f.text_field :name, :class=>"form-control", :placeholder=>"Enter Your Name" %>
    </div>
    <div class="field">
      <%= f.label :email %><br />
      <%= f.text_field :email, :class=>"form-control", :placeholder=>"Enter Your Password"%>
      </div>
    <div class="field">
      <%= f.label :phone %><br />
      <%= f.text_field :phone, :class=>"form-control", :placeholder=>"Enter Your Phone Number"%>
      </div>
   </div> 
</div>

<div class = "col-md-8">
   <div class="form-group">
     <div class="field">
      <%= f.label :description %><br />
      <%= f.text_area :description,  :class=>"form-control", :size=>"20x5", :placeholder=>"Enter Your Message"%>
     </div>
   </div>
</div>

<div class="actions">
  <%= f.submit "Submit", :class=> "button1"%>
</div> 

提前致谢

【问题讨论】:

  • 为什么不在model 上写验证码(例如validates_presence_of、validates_uniqueness_of)?
  • 我想在客户端进行验证。
  • Suraj,您熟悉 javascript 和 jQuery 库吗?如果您不想使用 js 插件,则需要在 js 文件中编写自己的验证,并在运行时将其编译到资产管道中(如果您希望它们成为客户端)。

标签: javascript ruby-on-rails forms


【解决方案1】:

我们可以为客户端验证提供各种插件。 为此,您可以选择 jquery_validate。 参考:http://jqueryvalidation.org/

但客户端验证并不总是可靠的。如果您禁用浏览器 javascript,则验证将不再起作用。

但从用户体验的角度来看,请考虑实施客户端验证。但是从应用程序安全的角度来看,您也应该考虑进行服务器端验证。

  validates :name, 
    presence: { message: "Organization name is mandatory." }

  validates :address, presence: {message: 'Address is mandatory.'}

  validates :description, presence: { message: 'Description is mandatory'}
  validates_length_of :name, 
    maximum: 50, too_long: "Maximum 50 characters allowed."

  validates_length_of :address, :description, 
    maximum: 300, too_long: "Maximum 300 characters allowed."

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    相关资源
    最近更新 更多