2010-06-28 4 views
1

est-il possible d'effectuer une validation conditionnelle dans le modèle utilisateur d'authlogic, qui utilise la validation dans le bloc acts_as_authentic selon certaines conditions? J'essaie de mettre en œuvre un formulaire d'inscription en plusieurs étapes, décrit dans railscast 217 de Ryan Bates avec authlogic.Validation automatique et conditionnelle

+0

Votre question est très obscure. Vous pourriez peut-être afficher le code que vous avez avec des commentaires expliquant ce que vous essayez d'accomplir. –

Répondre

3

Oui, il est possible de définir des validations conditionnelles avec authlogic. Dans votre modèle d'utilisateur que vous pourriez avoir:

class User < ActiveRecord::Base 

acts_as_authentic do |config| 
    config.merge_validates_format_of_login_field_options {:if => :do_validation} 
end 

où: do_validation est une méthode utilisateur qui retourne vrai ou faux selon une condition que vous définissez. Il existe d'autres crochets que vous pouvez utiliser. Voir http://www.rubydox.net/class/authlogic/2.1.3/Authlogic::ActsAsAuthentic::Login::Config pour plus d'informations sur cet exemple. Vous pouvez faire des choses similaires pour le champ mot de passe.

Veuillez noter que l'exemple de code ci-dessus est de mémoire car je ne suis pas dans un endroit où je peux me référer à ma propre source dans laquelle j'ai fait cette chose. Je vérifierai demain quand je retournerai au travail et je corrigerai si nécessaire.

MISE À JOUR J'ai vérifié que mon exemple de code est correct. Il peut être utile de noter également que l'une des options RoR standard pour validates_format_of peut être fusionnée dans ce paramètre de configuration authlogic particulier. http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M001401

Questions connexes