mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
move the strict validations to an appropriate section and some edits [ci skip]
This commit is contained in:
parent
1d802f1975
commit
547e695551
1 changed files with 12 additions and 14 deletions
|
@ -141,20 +141,6 @@ end
|
|||
|
||||
+invalid?+ is simply the inverse of +valid?+. +invalid?+ triggers your validations, returning true if any errors were found in the object, and false otherwise.
|
||||
|
||||
h4. Strict Validations
|
||||
|
||||
Rails can also be specify strict validations. You can use the +:strict+ option to set that validation as strict. If an object fails a strict validation then an +ActiveModel::StrictValidationFailed+ error message is raised.
|
||||
|
||||
<ruby>
|
||||
class Person < ActiveRecord::Base
|
||||
validates :name, :presence => {:strict => true}
|
||||
end
|
||||
|
||||
>> p = Person.new
|
||||
>> p.valid?
|
||||
=> ActiveModel::StrictValidationFailed: can't be blank
|
||||
</ruby>
|
||||
|
||||
h4(#validations_overview-errors). +errors[]+
|
||||
|
||||
To verify whether or not a particular attribute of an object is valid, you can use +errors[:attribute]+. It returns an array of all the errors for +:attribute+. If there are no errors on the specified attribute, an empty array is returned.
|
||||
|
@ -531,6 +517,18 @@ class Person < ActiveRecord::Base
|
|||
end
|
||||
</ruby>
|
||||
|
||||
h3. Strict Validations
|
||||
|
||||
You can also specify validations to be strict and raise +ActiveModel::StrictValidationFailed+ when the object is invalid.
|
||||
|
||||
<ruby>
|
||||
class Person < ActiveRecord::Base
|
||||
validates :name, :presence => { :strict => true }
|
||||
end
|
||||
|
||||
Person.new.valid? => ActiveModel::StrictValidationFailed: Name can't be blank
|
||||
</ruby>
|
||||
|
||||
h3. Conditional Validation
|
||||
|
||||
Sometimes it will make sense to validate an object just when a given predicate is satisfied. You can do that by using the +:if+ and +:unless+ options, which can take a symbol, a string or a +Proc+. You may use the +:if+ option when you want to specify when the validation *should* happen. If you want to specify when the validation *should not* happen, then you may use the +:unless+ option.
|
||||
|
|
Loading…
Reference in a new issue