Ho un campo data in un modulo tipo sostenuto nel mio Rails app:Rails date_select aiutante e validazione
<%= f.date_select :birthday,
{:start_year => Time.now.year,
:end_year => 1900,
:use_short_month => true,
:order => [:month, :day, :year],
:prompt => {:month => 'Month', :day => 'Day', :year => 'Year'}},
{:class => 'year',
:id => 'user_birthday'}
%>
E 'in corso di validazione nel codice modello utilizzando:
validates_presence_of :birthday, :message => 'is a required field'
Purtroppo, se l'utente inserisce un valore parziale come solo l'anno, il modulo viene comunque inviato senza errori. Invece un valore di data funky viene scritto nel db. Come faccio a rendere obbligatori tutti e tre i campi?
Mi piacerebbe scrivere una convalida personalizzata per questo, ma non so come accedere correttamente ai singoli elementi dell'elemento di compleanno. Come posso fare questo?
Grazie! Moe
Ho notato che non hai ': include_blank => true'. È possibile lasciare uno spazio in bianco? Che data prendi se hai impostato l'anno al 2000? Inoltre,: start_year deve essere precedente a: end_year. – mckeed
Hi mckeed, ': prompt => {: month => 'Month',: day => 'Day',: year => 'Year'}' inserisce valori predefiniti vuoti per mese, giorno e anno. ': end_year' è minore di': start_year' perché volevo che i valori ordinati desc. – Moe