Menu
CoddyTech

Validazione integrata

Fa parte della sezione Form del percorso Django di Coddy. Lezione 9 di 20.

Un evento ha bisogno di una descrizione e di un numero di posti. Ogni campo del modulo verifica un tipo specifico di valore e i suoi argomenti aggiungono delle regole. Ne hai già incontrate due: ogni campo è obbligatorio e max_length=100 rifiuta un titolo più lungo.

  • forms.IntegerField(min_value=1, max_value=5): un numero intero compreso tra i limiti.
  • forms.EmailField(): rifiuta il testo che non è un indirizzo email.
  • required=False su qualsiasi campo: può essere lasciato vuoto.

Un widget determina come viene visualizzato un campo: widget=forms.Textarea crea un'ampia casella di testo. Un modulo per recensire un prodotto:

class ReviewForm(forms.Form):
    stars = forms.IntegerField(min_value=1, max_value=5)
    comment = forms.CharField(widget=forms.Textarea, max_length=500)
    nickname = forms.CharField(required=False)

Un campo di testo facoltativo vuoto restituisce "" in cleaned_data; un campo numerico facoltativo vuoto restituisce None. Il ciclo del tuo template visualizza i nuovi campi senza bisogno di modifiche.

challenge icon

Sfida

Facile

Aggiungi due campi a EventForm:

  • description: testo in un riquadro grande, che può essere lasciato vuoto.
  • capacity: un numero intero di almeno 1.

In new_event, salvali entrambi nell’evento. Premi Run e apri /events/new/.

Provalo tu

from django import forms


class EventForm(forms.Form):
    title = forms.CharField(max_length=100)
    date = forms.DateField()
    place = forms.CharField(max_length=100)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Form

Esercitati da solo: Playground Django