Ruby on Rails - Convalida dell'input dell'utente

Ecco l'elenco delle convalide che puoi eseguire sull'input dell'utente:

validates_presence_of

I seguenti controlli che last_name e first_name devono essere compilati e non devono essere NULL.

validates_presence_of :firstname, :lastname

validates_length_of

L'esempio seguente mostra varie convalide su un singolo campo. Queste convalide possono essere eseguite separatamente.

validates_length_of :password,
   :minimum => 8           # more than 8 characters
   :maximum => 16          # shorter than 16 characters
   :in => 8..16            # between 8 and 16 characters
   :too_short => 'way too short'    
   :too_long => 'way to long'

validates_acceptance_of

Quanto segue accetterà solo il valore "Y" per il campo opzione.

validates_acceptance_of :option            
                        :accept => 'Y'

validates_confirmation_of

I campi password e password_confirmation devono corrispondere e verranno utilizzati come segue:

validates_confirmation_of :password

validates_uniceness_of

Quanto segue pone una condizione affinché nome_utente sia univoco.

validates_uniqueness_of :user_name

validates_format_of

Quanto segue convalida che un determinato ID e-mail sia in un formato valido. Questo mostra come utilizzare l'espressione regolare per convalidare un campo.

validates_format_of :email
   :with => /^(+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

validates_numericality_of

Ciò convalida che il campo specificato sia numerico.

validates_numericality_of   :value                 
                            :only_integer => true   
                            :allow_nil => true

validates_inclusion_of

Quanto segue verifica che il valore passato sia un'enumerazione e rientri nell'intervallo specificato.

validates_inclusion_of  :gender,   
                        :in => %w( m, f )

validates_exclusion_of

Quanto segue controlla che i valori dati non rientrino nell'intervallo dato.

validates_exclusion_of  :age        
                        :in => 13..19

validates_inclusion_of

I seguenti controlli che i valori dati dovrebbero rientrare nell'intervallo dato. Questo è l'opposto di validates_exclusion_of.

validates_inclusion_of  :age
                        :in => 13..19

validates_associated

Ciò conferma che l'oggetto associato è valido.

Opzioni per tutte le convalide

È possibile utilizzare le seguenti opzioni insieme a tutte le convalide.

  • :message => 'my own errormessage' Utilizzare questo per stampare un messaggio di errore personalizzato in caso di convalida non riuscita.

  • :on => :create or :updateVerrà utilizzato nei casi in cui si desidera eseguire la convalida solo quando il record viene creato o aggiornato. Quindi, se usi:create quindi questa convalida funziona solo quando c'è un'operazione di creazione sul database.

Controllare il collegamento Validazioni per ulteriori dettagli sulle convalide.

rails-references-guide.htm