discourse/lib/validators/reply_by_email_address_validator.rb
Michael Brown a312b9ae88 FIX: ReplyByEmailAddressValidator should leverage EmailAddressValidator
Since we already have perfectly sensible logic for validating email addresses,
let's leverage that and simplify the logic while we're at it.

Emails with spaces are no longer permitted (why were they?)
2022-02-17 21:49:22 -05:00

24 lines
568 B
Ruby

# frozen_string_literal: true
class ReplyByEmailAddressValidator
def initialize(opts = {})
@opts = opts
end
def valid_value?(val)
return true if val.blank?
return false if !EmailAddressValidator.valid_value?(val)
if SiteSetting.find_related_post_with_key
return false if !val.include?("%{reply_key}")
val.sub(/\+?%{reply_key}/, "") != SiteSetting.notification_email
else
val != SiteSetting.notification_email
end
end
def error_message
I18n.t('site_settings.errors.invalid_reply_by_email_address')
end
end