Class: ActiveModel::Validations::OsuEmailValidator

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

Overview

Validates that a user’s email follows the format of name.#@*.osu.edu

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_email_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::Email.valid?(value)

  error_message = options[:message] || "needs to be in the format name.#@*.osu.edu"

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