commit
cbe9b0640b
@ -0,0 +1,9 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
module RegistrationSpamConcern |
||||
extend ActiveSupport::Concern |
||||
|
||||
def set_registration_form_time |
||||
session[:registration_form_time] = Time.now.utc |
||||
end |
||||
end |
@ -0,0 +1,9 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
class RegistrationFormTimeValidator < ActiveModel::Validator |
||||
REGISTRATION_FORM_MIN_TIME = 3.seconds.freeze |
||||
|
||||
def validate(user) |
||||
user.errors.add(:base, I18n.t('auth.too_fast')) if user.registration_form_time.present? && user.registration_form_time > REGISTRATION_FORM_MIN_TIME.ago |
||||
end |
||||
end |
@ -1,3 +1,6 @@ |
||||
- if object.errors.any? |
||||
.flash-message.alert#error_explanation |
||||
%strong= t('generic.validation_errors', count: object.errors.count) |
||||
- object.errors[:base].each do |error| |
||||
.flash-message.alert |
||||
%strong= error |
||||
|
Loading…
Reference in new issue