From e202c6c814886251d3c7a9b6a33ba6a8f1a2d448 Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Mon, 10 Aug 2009 15:24:48 +0100 Subject: [PATCH] Move :with/:without check outside the method generated by validates_format_of --- activemodel/lib/active_model/validations/format.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/activemodel/lib/active_model/validations/format.rb b/activemodel/lib/active_model/validations/format.rb index 3b3dd4b827..c670dafc7c 100644 --- a/activemodel/lib/active_model/validations/format.rb +++ b/activemodel/lib/active_model/validations/format.rb @@ -47,13 +47,13 @@ def validates_format_of(*attr_names) raise ArgumentError, "A regular expression must be supplied as the :without option of the configuration hash" end - validates_each(attr_names, configuration) do |record, attr_name, value| - if configuration[:with] && value.to_s !~ configuration[:with] - record.errors.add(attr_name, :invalid, :default => configuration[:message], :value => value) + if configuration[:with] + validates_each(attr_names, configuration) do |record, attr_name, value| + record.errors.add(attr_name, :invalid, :default => configuration[:message], :value => value) if value.to_s !~ configuration[:with] end - - if configuration[:without] && value.to_s =~ configuration[:without] - record.errors.add(attr_name, :invalid, :default => configuration[:message], :value => value) + elsif configuration[:without] + validates_each(attr_names, configuration) do |record, attr_name, value| + record.errors.add(attr_name, :invalid, :default => configuration[:message], :value => value) if value.to_s =~ configuration[:without] end end end -- GitLab