Class: ActiveModel::Validations::EmplidValidator

Inherits:
EachValidator
  • Object
show all
Defined in:
lib/osu_validators/osu_emplid_validator.rb

Overview

Validate’s that a user’s emplid is an 8-9 digit string

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/osu_validators/osu_emplid_validator.rb', line 5

def validate_each(record, attribute, value)
  return if value.blank? && options[:allow_blank]
  return if !!value && options[:allow_nil]
  return if ::OSU::Emplid.valid?(value)

  error_message = options[:message] || "needs to be an 8-9 digit string"

  record.errors.add(
    attribute,
    :emplid,
    message: error_message,
    value: value
  )
end