validates_presence_of
- 1.0.0 (0)
- 1.1.6 (14)
- 1.2.6 (7)
- 2.0.3 (8)
- 2.1.0 (-8)
- 2.2.1 (0)
- 2.3.8 (2)
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2 (15)
- 4.1.8 (0)
- 4.2.1 (3)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (7)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (-35)
- 7.1.3.4 (0)
- What's this?
validates_presence_of(*attr_names)
public
Validates that the specified attributes are not blank (as defined by Object#blank?). If the attribute is an association, the associated object is also considered blank if it is marked for destruction.
class Person < ActiveRecord::Base has_one :face validates_presence_of :face end
The face attribute must be in the object and it cannot be blank or marked for destruction.
This validator defers to the Active Model validation for presence, adding the check to see that an associated object is not marked for destruction. This prevents the parent object from validating successfully and saving, which then deletes the associated object, thus putting the parent object into an invalid state.
See ActiveModel::Validations::HelperMethods.validates_presence_of for more information.
NOTE: This validation will not fail while using it with an association if the latter was assigned but not valid. If you want to ensure that it is both present and valid, you also need to use {validates_associated}[rdoc-ref:Validations::ClassMethods#validates_associated].