Hallo,

ich würde dafür wahrscheinlich validate, validate_on_create oder
validate_on_update überschreiben und von da aus wieder die normalen
Validierungsmethoden aufrufen.

        Beste Grüße,

                Daniel Schweighöfer

Am 15.02.11 12:59, schrieb rubyonrails...@galt.de:
> Hallo,
> 
> wie kann man es denn am besten bewerkstelligen, verschiedene Fälle von 
> Validierungen zu definieren?
> 
> Ich habe ein z.B. ein User-Model das beim Zugriff durch den Administrator 
> anders validiert werden soll, als wenn der Nutzer es verwendet.
> 
> So soll etwa, wenn der Nutzer darauf zugreift, die Telefonnummer verlangt 
> werden. Wenn der Administrator einen Nutzer anlegt oder bearbeitet, soll dies 
> jedoch nicht überprüft werden.
> 
> Mir ist bisher nichts besseres eingefallen als eine Kombination aus einem 
> virtuellen attribut als Schalter (der im jeweiligen Controller „angeknipst“ 
> wird) und der if-Bedingung in der Validierung:
> 
> class CustomerUser < ActiveRecord::Base
> 
>   validates :telephone, :presence => true, :if => lambda{ |u| 
> u.validate_for_user? }
> 
>   attr_writer :validate_for_user
>   
>   def validate_for_user?
>     @validate_for_user
>   end
> 
> end
> 
> Mir erscheint das nicht sehr elegant. Vor allem wird es, bei vielen 
> Validierungen sehr schnell unübersichtlich. Vielleicht kennt ja jemand eine 
> bessere Lösung.
> 
> Viele Grüße
> 
> Michael Kastner
> _______________________________________________
> rubyonrails-ug mailing list
> rubyonrails-ug@headflash.com
> http://mailman.headflash.com/listinfo/rubyonrails-ug


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an