Class: Treaty::Entity::Attribute::Option::Validators::RequiredValidator
- Inherits:
-
Base
- Object
- Base
- Treaty::Entity::Attribute::Option::Validators::RequiredValidator
- Defined in:
- lib/treaty/entity/attribute/option/validators/required_validator.rb
Overview
Validates that attribute value is present (not nil and not empty).
Usage Examples
Helper mode:
string :title, :required # Maps to required: true
string :bio, :optional # Maps to required: false
Simple mode:
string :title, required: true
string :bio, required: false
Advanced mode:
string :title, required: { is: true, message: "Title is mandatory" }
Default Behavior
- Request attributes: required by default (required: true)
- Response attributes: optional by default (required: false)
Validation Rules
A value is considered present if:
- It is not nil
- It is not empty (for String, Array, Hash)
Advanced Mode
Schema format: { is: true/false, message: nil }
Instance Method Summary collapse
-
#validate_schema! ⇒ void
Validates schema (no validation needed, already normalized).
-
#validate_value!(value) ⇒ void
Validates that required attribute has a present value.
Methods inherited from Base
#initialize, #target_name, #transform_value, #transforms_name?
Constructor Details
This class inherits a constructor from Treaty::Entity::Attribute::Option::Base
Instance Method Details
#validate_schema! ⇒ void
This method returns an undefined value.
Validates schema (no validation needed, already normalized)
41 42 43 44 |
# File 'lib/treaty/entity/attribute/option/validators/required_validator.rb', line 41 def validate_schema! # Schema structure is already normalized by OptionNormalizer. # Nothing to validate here. end |
#validate_value!(value) ⇒ void
This method returns an undefined value.
Validates that required attribute has a present value
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/treaty/entity/attribute/option/validators/required_validator.rb', line 51 def validate_value!(value) return unless required? return if present?(value) = ( attribute: @attribute_name, value: ) || raise Treaty::Exceptions::Validation, end |