instance method
added?
Ruby on Rails edge
Since v3.2.22.5Signature
added?(attribute, type = :invalid, options = {})
Returns true if an error matches provided attribute and type,
or `false` otherwise. `type` is treated the same as for `add`.
```
person.errors.add :name, :blank
person.errors.added? :name, :blank # => true
person.errors.added? :name, "can't be blank" # => true
```
If the error requires options, then it returns `true` with
the correct options, or `false` with incorrect or missing options.
```
person.errors.add :name, :too_long, count: 25
person.errors.added? :name, :too_long, count: 25 # => true
person.errors.added? :name, "is too long (maximum is 25 characters)" # => true
person.errors.added? :name, :too_long, count: 24 # => false
person.errors.added? :name, :too_long # => false
person.errors.added? :name, "is too long" # => false
```
: (Symbol | String, ?untyped, ?untyped) -> bool
Parameters
-
attributereq -
typeopt = :invalid -
optionsopt = {}
Source
# File activemodel/lib/active_model/errors.rb, line 427
def added?(attribute, type = :invalid, options = {})
attribute, type, options = normalize_arguments(attribute, type, **options)
if type.is_a? Symbol
@errors.any? { |error|
error.strict_match?(attribute, type, **options)
}
else
messages_for(attribute).include?(type)
end
end
Defined in activemodel/lib/active_model/errors.rb line 427
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::Errors