Class: DataMapper::Validations::RequiredFieldValidator

Inherits:
GenericValidator show all
Defined in:
lib/data_mapper/validations/required_field_validator.rb

Constant Summary collapse

ERROR_MESSAGES =
{
  :required => '#{field} must not be blank'
}

Instance Method Summary collapse

Methods inherited from GenericValidator

#add_error, #validation_error_message

Constructor Details

#initialize(field_name) ⇒ RequiredFieldValidator

Returns a new instance of RequiredFieldValidator.



10
11
12
# File 'lib/data_mapper/validations/required_field_validator.rb', line 10

def initialize(field_name)
  @field_name = field_name
end

Instance Method Details

#call(target) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/data_mapper/validations/required_field_validator.rb', line 14

def call(target)
  field_value = !target.instance_variable_get("@#{@field_name}").nil?
  return true if field_value
  
  field = Inflector.humanize(@field_name)
  
  error_message = validation_error_message(ERROR_MESSAGES[:required], nil, binding)        
  add_error(target, error_message , @field_name)
  
  return false
end