]> git.openstreetmap.org Git - rails.git/blobdiff - lib/validators.rb
Use reports_count so that counter_cache works automatically.
[rails.git] / lib / validators.rb
index 640a495649fc82a32b4db508a5a02a74323c89d2..0c6b3f5949e9eec7ba719aa2096a3b49fff71606 100644 (file)
@@ -1,20 +1,9 @@
-module ActiveRecord
-  module Validations
-    module ClassMethods
-      
-      # error message when invalid UTF-8 is detected
-      @@invalid_utf8_message = " is invalid UTF-8"
-
-      ##
-      # validation method to be included like any other validations methods
-      # in the models definitions. this one checks that the named attribute
-      # is a valid UTF-8 format string.
-      def validates_as_utf8(*attrs)
-        validates_each(attrs) do |record, attr, value|
-          record.errors.add(attr, @@invalid_utf8_message) unless UTF8.valid? value
-        end
-      end    
-
-    end
+##
+# validation method to be included like any other validations methods
+# in the models definitions. this one checks that the named attribute
+# is a valid UTF-8 format string.
+class Utf8Validator < ActiveModel::EachValidator
+  def validate_each(record, attribute, value)
+    record.errors.add(attribute, " is invalid UTF-8") unless UTF8.valid? value
   end
 end