验证至少一个复选框被选中
validating at least one checkbox is selected
我正在尝试验证是否至少选中了表单中的一个复选框,但它目前不起作用。
这是我的控制器的样子:
class UserExpertise < ActiveRecord::Base
belongs_to :user
validate :atleast_one_is_checked
def atleast_one_is_checked
errors.add(:base, "Select at least one expertise") unless :gardening || :cooking || :cleaning || :washing_up
end
end
However, no error shows up when none of them are selected.顺便说一下,如果我改为删除代码的 'unless' 部分,如下所示,无论选择了多少,都会一直显示错误。
def atleast_one_is_checked
errors.add(:base, "Select at least one expertise")
end
end
我无法验证是否至少选中了一个复选框,因为上述方法似乎不起作用。任何帮助,将不胜感激!
:gardening
、:cooking
、:cleaning
和 :washing_up
是此处的符号,它们被条件语句视为 true
值。使用与属性相关的方法,只需:
def atleast_one_is_checked
errors.add(:base, "Select at least one expertise") unless gardening || cooking || cleaning || washing_up
end
我正在尝试验证是否至少选中了表单中的一个复选框,但它目前不起作用。
这是我的控制器的样子:
class UserExpertise < ActiveRecord::Base
belongs_to :user
validate :atleast_one_is_checked
def atleast_one_is_checked
errors.add(:base, "Select at least one expertise") unless :gardening || :cooking || :cleaning || :washing_up
end
end
However, no error shows up when none of them are selected.顺便说一下,如果我改为删除代码的 'unless' 部分,如下所示,无论选择了多少,都会一直显示错误。
def atleast_one_is_checked
errors.add(:base, "Select at least one expertise")
end
end
我无法验证是否至少选中了一个复选框,因为上述方法似乎不起作用。任何帮助,将不胜感激!
:gardening
、:cooking
、:cleaning
和 :washing_up
是此处的符号,它们被条件语句视为 true
值。使用与属性相关的方法,只需:
def atleast_one_is_checked
errors.add(:base, "Select at least one expertise") unless gardening || cooking || cleaning || washing_up
end