在多语言应用程序中,用户可以输入自己的中文和英文姓名。用户可以输入其中之一或两者,但必须至少输入一个名称。
class Person < ActiveRecord::Base
validates :zh_name, :presence => true
validates :en_name, :presence => true
validates :fr_name, :presence => true
end
由于内置的 :validates_presence_of 方法只能同时验证两个属性,有没有办法验证 Rails 中多个属性中至少一个的存在?
就像有魔力一样,validates_one_of :zh_name, :en_name, :fr_name
先感谢您,
validate :at_least_one_name
def at_least_one_name
if [self.zh_name, self.en_name, self.fr_name].reject(&:blank?).size == 0
errors[:base] << ("Please choose at least one name - any language will do.")
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)