From e6aaa8570ac4566bdd0cdfdf62ca1225ac22a67c Mon Sep 17 00:00:00 2001
From: Vijay Kumar Agrawal <vijay@bigbinary.com>
Date: Sun, 20 Mar 2016 20:45:40 +0530
Subject: [ci skip] Added missing custom context validation

---
 guides/source/active_record_validations.md | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

(limited to 'guides')

diff --git a/guides/source/active_record_validations.md b/guides/source/active_record_validations.md
index 10bd201145..bcfdb935b2 100644
--- a/guides/source/active_record_validations.md
+++ b/guides/source/active_record_validations.md
@@ -830,6 +830,25 @@ class Person < ApplicationRecord
 end
 ```
 
+You can also use `on:` to define custom context.
+Custom contexts need to be triggered explicitly
+by passing name of the context to `valid?`, `invalid?` or `save`.
+
+```ruby
+class Person < ApplicationRecord
+  validates :email, uniqueness: true, on: :account_setup
+  validates :age, numericality: true, on: :account_setup
+end
+
+person = Person.new
+```
+
+`person.valid?(:account_setup)` executes both the validations
+without saving the model. And `person.save(context: :account_setup)`
+validates `person` in `account_setup` context before saving.
+On explicit triggers, model is validated by
+validations of only that context and validations without context.
+
 Strict Validations
 ------------------
 
-- 
cgit v1.2.3