mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 22:26:26 +08:00
15 lines
471 B
Ruby
15 lines
471 B
Ruby
require_dependency "spam_handler"
|
|
|
|
class AllowedIpAddressValidator < ActiveModel::EachValidator
|
|
|
|
def validate_each(record, attribute, value)
|
|
if record.ip_address
|
|
if ScreenedIpAddress.should_block?(record.ip_address) ||
|
|
(record.trust_level == TrustLevel[0] && SpamHandler.should_prevent_registration_from_ip?(record.ip_address))
|
|
record.errors.add(attribute, options[:message] || I18n.t('user.ip_address.blocked'))
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|