Rails 3, Unbekannt validator: 'EmailValidator'
Ich versuche, um eine E-Mail-validator in meiner rails-app. Ich habe die folgende Datei /lib/validators/email_validator.rb
class EmailValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
object.errors[attribute] << (options[:message] || "is not formatted properly")
end
end
end
In der Anwendung.rb fügte ich diese Zeile:
config.autoload_paths << "#{config.root}/lib/validators"
Und hier ist meine User-model:
class User < ActiveRecord::Base
attr_accessible :email, :password,:name
validates :email, :presence => true, :uniqueness => true, :email => true
end
Wenn ich will, um den server zu starten bekam ich eine Fehlermeldung:
Unknown validator: 'EmailValidator' (ArgumentError)
Hat jemand eine Idee, wie kann ich dieses problem beheben?
- Wie Sie diese mit Schienen 5. es wird nicht validieren E-Mail mit
ActiveModel::EachValidator
. EmailValidator-Klasse nicht aufrufen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ressource: Wo soll Rails 3 benutzerdefinierte Prüfungen gespeichert werden? (zweite Antwort)
Dieser Fehler tritt auf, weil Schienen Lasten-Modell-Datei, bevor Sie den validation-Datei
Versuchen, Ihre Validierung, die Datei manuell zu Beginn Ihrer Modell-Datei
Versuchen, die geänderte Benutzer-Modell;