> For the complete documentation index, see [llms.txt](https://kelby.gitbook.io/rails-beginner-s-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kelby.gitbook.io/rails-beginner-s-guide/activemodel/model_is_important/validations_callbacks.md).

# Validations 相关的 Callbacks

在执行校验之前、之后做某事。

提供 `before_validation`、`after_validation` 这两个和校验有关的回调方法。

```ruby
class MyModel
  include ActiveModel::Validations::Callbacks

  before_validation :do_stuff_before_validation
  after_validation  :do_stuff_after_validation

  def do_stuff_before_validation
    # ...
  end

  def do_stuff_after_validation
    # ...
  end
end
```

内部实现，调用了 Active Support 提供的回调相关方法；使用上，和 Active Record 里的回调方法类似。
