# Validation with Checkpoint VS Batch

**URL:** <https://discourse.greatexpectations.io/t/validation-with-checkpoint-vs-batch/1933>\
**Category:** GX Core Support\
**Created:** [October 8, 2024, 11:29pm UTC](https://discourse.greatexpectations.io/t/validation-with-checkpoint-vs-batch/1933 "2024-10-08T23:29:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![lauraz](https://avatars.discourse-cdn.com/v4/letter/l/e47774/32.png) [@lauraz](https://discourse.greatexpectations.io/u/lauraz)\
**Post date:** [October 8, 2024, 11:29pm UTC](https://discourse.greatexpectations.io/t/validation-with-checkpoint-vs-batch/1933/1 "2024-10-08T23:29:02Z")

</div>

From the tutorials, we can either validate with a checkpoint.run() or directly validate on a batch: batch.validate(expectation).

Any suggestions of when to use which, or it really doesn’t matter? it is a bit confusing to beginners which way to go

---

<div class="post-metadata">

**Author:** ![ToivoMattila](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.greatexpectations.io/toivomattila/32/254_2.png) [@ToivoMattila](https://discourse.greatexpectations.io/u/ToivoMattila)\
**Post date:** [October 9, 2024, 10:57am UTC](https://discourse.greatexpectations.io/t/validation-with-checkpoint-vs-batch/1933/2 "2024-10-09T10:57:37Z")

</div>

The recommendation I’ve heard is to use batches when developing the validation and then use Checkpoints when pushing the data validation to production to easily validate data repeatedly.

Also, Checkpoints can be used to perform additional tasks such as building the Data Docs or sending out failure notifications after the data has been validated.
