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=Falsesu 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.
Sfida
FacileAggiungi 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)
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Form
2Moduli Django
Un modulo DjangoCreare un moduloEsercitati da solo: Playground Django