diff options
author | Vijay Kumar Agrawal <vijay@bigbinary.com> | 2016-03-20 20:45:40 +0530 |
---|---|---|
committer | Vijay Kumar Agrawal <vijay@bigbinary.com> | 2016-03-24 19:56:04 +0530 |
commit | e6aaa8570ac4566bdd0cdfdf62ca1225ac22a67c (patch) | |
tree | b5bdc09dd65f0490ff80fca0bf51291c320e6c91 /guides | |
parent | 00a0388adcb2a09cb811ee9659636a154c36bca5 (diff) | |
download | rails-e6aaa8570ac4566bdd0cdfdf62ca1225ac22a67c.tar.gz rails-e6aaa8570ac4566bdd0cdfdf62ca1225ac22a67c.tar.bz2 rails-e6aaa8570ac4566bdd0cdfdf62ca1225ac22a67c.zip |
[ci skip] Added missing custom context validation
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/active_record_validations.md | 19 |
1 files changed, 19 insertions, 0 deletions
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 ------------------ |