Improve character validator error messages
authorTom Hughes <tom@compton.nu>
Mon, 5 Nov 2018 18:58:08 +0000 (18:58 +0000)
committerTom Hughes <tom@compton.nu>
Mon, 5 Nov 2018 21:16:21 +0000 (21:16 +0000)
app/validators/characters_validator.rb
config/locales/en.yml

index cbcd03a..ee5b120 100644 (file)
@@ -3,10 +3,10 @@ class CharactersValidator < ActiveModel::EachValidator
   INVALID_URL_CHARS = "/;.,?%#".freeze
 
   def validate_each(record, attribute, value)
-    record.errors[attribute] << (options[:message] || I18n.t("validations.invalid_chars")) if value =~ /[#{INVALID_CHARS}]/
+    record.errors[attribute] << (options[:message] || I18n.t("validations.invalid_characters")) if value =~ /[#{INVALID_CHARS}]/
 
     if options[:url_safe]
-      record.errors[attribute] << (options[:message] || I18n.t("validations.invalid_url_chars", :invalid_url_chars => INVALID_URL_CHARS)) if value =~ /[#{INVALID_URL_CHARS}]/
+      record.errors[attribute] << (options[:message] || I18n.t("validations.url_characters", :characters => INVALID_URL_CHARS)) if value =~ /[#{INVALID_URL_CHARS}]/
     end
   end
 end
index 112f3a2..a937001 100644 (file)
@@ -2565,5 +2565,5 @@ en:
   validations:
     leading_whitespace: "has leading whitespace"
     trailing_whitespace: "has trailing whitespace"
-    invalid_chars: "contains invalid chars"
-    invalid_url_chars: "must not contain an invalid char: %{invalid_url_chars}"
+    invalid_characters: "contains invalid characters"
+    url_characters: "contains special URL characters (%{characters})"