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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ rubyonrails-ug mailing list rubyonrails-ug@headflash.com http://mailman.headflash.com/listinfo/rubyonrails-ug