我原本希望rails在AR对象上有类似validate!
方法的东西,但我找不到类似的东西。
我希望能够在对象上调用验证并提出可能存在的任何错误。
答案 0 :(得分:1)
当您想要在对象无效时引发异常时,可以使用严格验证。 但是您需要在每次验证时指定strict参数。您还可以将自定义异常传递给strict参数。这是我了解您解决方案的唯一方法。
样品:
validates :name, presence: { strict: true }
您仍需要使用object.valid?
http://edgeguides.rubyonrails.org/active_record_validations.html 第4章。
答案 1 :(得分:0)
my_object.valid?
这将运行验证并为任何失败添加错误,您可以使用.errors
查看通常,如果对象验证失败,您不会引发异常:应该为意外问题保存异常,而不是预期的问题,例如验证失败。