我需要在 before_validation 模型过滤器上添加验证。我怎样才能做到这一点?
提前致谢
- 编辑我没有正确表达自己。我需要在这样的回调上添加验证:
validate :check_length
def check_length
if my_conditional
validates_length_of :name, :minimum => 5
else
validates_length_of :name, :minimum => 7
end
我需要在 before_validation 模型过滤器上添加验证。我怎样才能做到这一点?
提前致谢
- 编辑我没有正确表达自己。我需要在这样的回调上添加验证:
validate :check_length
def check_length
if my_conditional
validates_length_of :name, :minimum => 5
else
validates_length_of :name, :minimum => 7
end
您将必须创建一个方法并从回调中调用它
before_validation :run_this_check
def run_this_check
##run your validation
errors.add(:key, "This is your error message")
end
或者如果验证不处理属性(或字段)
def run_this_check
errors.add_to_base('error message')
end
尝试使用
class X < ActiveRecord
validates_length_of :name, :minimum => 5 if my_condition
validates_length_of :name, :minimum => 7 unless my_condition
end
什么条件?