From e6aaa8570ac4566bdd0cdfdf62ca1225ac22a67c Mon Sep 17 00:00:00 2001 From: Vijay Kumar Agrawal 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