有没有办法从自定义验证器中调用标准 Rails 验证器?
我有 OAuth/电子邮件注册/登录的组合,我希望能够在每种身份验证方法上调用某些验证器。例如,如果用户通过电子邮件注册,我希望能够调用 validates_uniqueness_of :email
,然后调用单个验证器,例如 validates_with UserValidator
。
如果没有办法做到这一点,我将使用状态跟踪和一系列 :if
验证。
最佳答案
我相信没有办法从自定义验证器调用其他验证器,这也可能导致循环依赖,这是危险的。
您必须使用条件验证,但请记住,您可以像这样确定它们的范围(取自 Rails 指南)
with_options if: :is_admin? do |admin|
admin.validates :password, length: { minimum: 10 }
admin.validates :email, presence: true
end
关于ruby-on-rails - rails : calling standard validations from a custom validator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18261039/