railsのvalidationの順番 ----------------------- before_validation validate after_validation ----------------------- っていうのは有名な話だけど、validateには --------------------------------- validates_acceptance_of validates_associated validates_confirmation_of validates_each validates_exclusion_of validates_format_of validates_inclusion_of validates_length_of validates_numericality_of validates_presence_of validates_size_of validates_uniqueness_of --------------------------------- と 自分で書く validate :def があるので、 ど〜ゆ〜順番でvalidateが実行されるのかな〜〜って 普通に疑問に思ったので調べてみたら、すごく単純な答えだった。 答えを先に言うと、順番は書いた順番。つまり上から順番に実行されます。 validates_***_ofも別に特別な動きをしているわけではなく validate option do あれこれ end で動いています。 validateが実行されるたびにコールバックの配列に入れられていくので 順番通りになるようです。