2009-09-08 2 views
50

Se voglio avere la convalida solo creare, quindi posso fareRails validazione dei modelli sul creare e aggiornare solo

validates_presence_of :password, :on => :create 

Ma come faccio a dire a creare e aggiornare? Ho provato questo ma non ha funzionato:

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

Devo definire la convalida due volte?

+4

Potrebbe esserci una patch in fase di elaborazione ... eccetto come è: create e: update diverso da quello predefinito: save? (Would not: save be both?) –

+1

sì, ho appena scoperto che: save is both, thx –

risposta

66

Per impostazione predefinita, le convalide vengono eseguite sia per la creazione che per l'aggiornamento. Quindi dovrebbe essere solo:

validates_presence_of :password 

Il tasto: on consente solo di sceglierne uno.

+20

la nuova convenzione è in realtà da usare: 'convalida: password, presenza: true' –

11

Solo scrittura:

validates_presence_of :password 

Non c'è bisogno ...

on => :create 
0

È possibile utilizzare questo quando è necessario disattivare la convalida di alcuni interventi specifici, come ad esempio eliminazione.