2009-09-08 12 views
50

Jeśli chcę mieć walidacji tylko na tworzenie, to mogę zrobićRails modelu walidacji na tworzenie i aktualizowanie tylko

validates_presence_of :password, :on => :create 

Ale jak mówię na tworzenie i aktualizowanie? Próbowałem tego, ale to nie zadziałało:

validates_presence_of :password, :on => [ :create, :update ] 

Czy muszę dwa razy określić walidację?

+4

Może być łatka w przygotowaniu ... z wyjątkiem tego, jak: create i: update różni się od domyślnej: zapisz? (Would not: zapisz się zarówno) –

+1

Tak, po prostu okazało się, że: zapisz się zarówno thx –

Odpowiedz

66

Domyślnie walidacji prowadzony zarówno dla tworzenia i aktualizacji. Powinno być po prostu:

validates_presence_of :password 

Klawisz: on po prostu pozwala wybrać jedną z nich.

+20

nowa konwencja jest faktycznie używać: 'potwierdza: hasło, obecność: true' –

11

Tylko zapisu:

validates_presence_of :password 

Nie ma potrzeby ...

on => :create 
0

Można to wykorzystać, kiedy trzeba wyłączyć sprawdzanie na pewnych konkretnych działań, takich jak usunięcie.

Powiązane problemy