51 Stimmen

Rails-Modellvalidierung nur bei Erstellung und Aktualisierung

Wenn ich die Validierung nur beim Erstellen haben möchte, kann ich Folgendes tun

validates_presence_of :password, :on => :create

Aber wie sage ich das bei der Erstellung und Aktualisierung? Ich habe dies versucht, aber es hat nicht funktioniert:

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

Muss ich die Validierung zwei Mal definieren?

4 Stimmen

Es könnte ein Patch in der Mache sein... nur wie unterscheiden sich :create und :update von dem Standard :save? (Wäre :save nicht beides?)

1 Stimmen

Ja, ich habe gerade herausgefunden, dass :save beides ist, danke

66voto

Alessandra Pereyra Punkte 2640

Standardmäßig werden die Validierungen sowohl beim Erstellen als auch beim Aktualisieren durchgeführt. Es sollte also einfach sein:

validates_presence_of :password

Mit der Taste :on können Sie nur eine von ihnen auswählen.

20 Stimmen

Die neue Konvention tatsächlich zu verwenden ist: validates :password, presence: true

12voto

FJ. Punkte 129

Nur schreiben:

validates_presence_of :password

Nicht nötig...

on => :create

0voto

Ederson Badeca Punkte 319

Sie können diese Option verwenden, wenn Sie die Validierung für bestimmte Vorgänge, wie z. B. das Löschen, deaktivieren möchten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X