maeshimaの日記

メモ書きです

after_validation

validateの後に実行されるコールバック。validate中にエラーチェックに引っかかる項目があっても実行される。エラーをチェックする条件が複雑なものを別メソッド(やモジュール)に出して、validationするタイミングは同じにしたいようなときに使える・・・と思ったけどいまいちかも。before_validationもあるけど、こちらはfalseを返すとvalidateは実行されない。

  • valid?でafter_validationは実行される。
  • after_validationはあくまで「validateの後に実行されるメソッド」であってvalidationを補完するような意味のメソッドではない。
  • after_validation中に errors.add を実行してもvalid?はtrueを返すし、saveもtrueを返す。