2009-09-08 2 views
50

Wenn ich Validierung haben will nur schaffen, dann kann ichRails Modellvalidierung erstellen und aktualisieren nur

tun
validates_presence_of :password, :on => :create 

Aber wie soll ich sagen erstellen und aktualisieren? Ich habe das versucht, aber es hat nicht funktioniert:

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

Muss ich die Validierung zweimal definieren?

+4

Könnte ein Patch in der Herstellung sein ... außer wie: create und: update anders als der Standard: speichern? (Würde nicht: save beide sein?) –

+1

yep, ich habe gerade herausgefunden, dass: save ist beides, thx –

Antwort

66

Standardmäßig werden die Validierungen sowohl für die Erstellung als auch für die Aktualisierung ausgeführt. So sollte es nur sein:

validates_presence_of :password 

Der: on-Taste können Sie nur eine von ihnen wählen.

+20

die neue Konvention ist eigentlich zu verwenden: 'validates: Passwort, Präsenz: true' –

11

Nur schreiben:

validates_presence_of :password 

Keine Notwendigkeit ...

on => :create 
0

diese Weise können Sie, wenn Sie die Validierung auf einige spezifische Operationen, wie Löschen deaktivieren müssen.