条件付きバリデーション
特定の条件を満たす場合にのみバリデーションを適用したい場合に使用する.
:ifオプションや:unlessオプションを使うことで条件を指定できる.
:ifオプションは特定の条件でバリデーションを行うべきである場合に,:unlessオプションは特定の条件でバリデーションを行うべきでない場合に使用する.
使用例
Messageクラス
validates :content, presence: true, if: :image_attached? def image_attached? self.image.attached? end
画像が添付されているとき,バリデーションが行われる.
Messageクラス
validates :content, presence: true, unless: :image_attached? def image_attached? self.image.attached? end
画像が添付されているとき,バリデーションは行われない.