首页 > 解决方案 > 验证 Rails 5 中至少勾选了一个复选框

问题描述

我正在尝试在 Rails 5 中进行服务器端验证,但遇到了问题。我仍然是一个菜鸟,但这让我很难过。

我想检查是否在保存时勾选了 4 个复选框选项中的任何一个。

在我的表格中,我有:

<%= f.input :property_type, label: 'List as', as: :check_boxes, collection: %w(Student Graduate Professional Family), checked: property.property_type %>

我试过了

validates :property_type, acceptance: { message: 'must be selected' }validates :property_type, presence: true 没有工作。

我也尝试过创建自定义验证,但我也无法让它工作。

有人可以帮忙吗?

标签: ruby-on-railsruby-on-rails-5

解决方案


自定义验证应该适用于您的情况。你能检查一下下面的片段吗?

  validates : property_type_is_selected

  private

  def property_type_is_selected
    if self.property_type.blank?
      self.errors.add(:property_type, 'must be selected.')
    end
  end

推荐阅读