openstreetmap-website/app/validators/whitespace_validator.rb
2020-07-31 22:45:53 +01:00

11 lines
456 B
Ruby

class WhitespaceValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
unless options.fetch(:leading, true)
record.errors[attribute] << (options[:message] || I18n.t("validations.leading_whitespace")) if /\A\s/.match?(value)
end
unless options.fetch(:trailing, true)
record.errors[attribute] << (options[:message] || I18n.t("validations.trailing_whitespace")) if /\s\z/.match?(value)
end
end
end