From: Tom Hughes Date: Wed, 17 Mar 2021 18:16:15 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/3138' X-Git-Tag: live~1715 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e2db4098722ef4460aa455ceaf8d54f5614af557?hp=5d90e595a26849da56491023fd7dc4a2453bb2b9 Merge remote-tracking branch 'upstream/pull/3138' --- diff --git a/app/validators/characters_validator.rb b/app/validators/characters_validator.rb index 837e3e6cc..13d08ca55 100644 --- a/app/validators/characters_validator.rb +++ b/app/validators/characters_validator.rb @@ -3,7 +3,7 @@ class CharactersValidator < ActiveModel::EachValidator INVALID_URL_CHARS = "/;.,?%#".freeze def validate_each(record, attribute, value) - record.errors[attribute] << (options[:message] || I18n.t("validations.invalid_characters")) if /[#{INVALID_CHARS}]/o.match?(value) - record.errors[attribute] << (options[:message] || I18n.t("validations.url_characters", :characters => INVALID_URL_CHARS)) if options[:url_safe] && /[#{INVALID_URL_CHARS}]/o.match?(value) + record.errors.add(attribute, options[:message] || I18n.t("validations.invalid_characters")) if /[#{INVALID_CHARS}]/o.match?(value) + record.errors.add(attribute, options[:message] || I18n.t("validations.url_characters", :characters => INVALID_URL_CHARS)) if options[:url_safe] && /[#{INVALID_URL_CHARS}]/o.match?(value) end end diff --git a/app/validators/whitespace_validator.rb b/app/validators/whitespace_validator.rb index 3032c109e..6453742c2 100644 --- a/app/validators/whitespace_validator.rb +++ b/app/validators/whitespace_validator.rb @@ -1,6 +1,6 @@ class WhitespaceValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) - record.errors[attribute] << (options[:message] || I18n.t("validations.leading_whitespace")) if !options.fetch(:leading, true) && /\A\s/.match?(value) - record.errors[attribute] << (options[:message] || I18n.t("validations.trailing_whitespace")) if !options.fetch(:trailing, true) && /\s\z/.match?(value) + record.errors.add(attribute, options[:message] || I18n.t("validations.leading_whitespace")) if !options.fetch(:leading, true) && /\A\s/.match?(value) + record.errors.add(attribute, options[:message] || I18n.t("validations.trailing_whitespace")) if !options.fetch(:trailing, true) && /\s\z/.match?(value) end end