ruby-on-rails - Rails - 如何在回调中添加验证

标签 ruby-on-rails ruby ruby-on-rails-3

我需要在 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

关于ruby-on-rails - Rails - 如何在回调中添加验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12181117/

相关文章:

ruby-on-rails - Rails 单选按钮 - 模型中多列的一种选择

javascript - 为什么我的模型钩子(Hook)没有收到参数?

ruby-on-rails - redis相当于存储一个数组是什么?

ruby - 在 Ruby 中,对 block 的内容执行函数

ios - 从 ruby​​ on Rails 应用程序发送文件以在后台打印

ruby-on-rails - ruby rails 3 : How to access an attribute of each record in a has_many query

ruby-on-rails-3 - capybara webkit 无法加载 mailto url

ruby-on-rails - ActionDispatch::Http::UploadedFile 到 Base64

ruby-on-rails - Rails - 更新未选中的复选框时缺少参数(作为 nil 值)

ruby-on-rails - 如何进行多行匹配并将它们分配给哈希?