Validation intégrée
Fait partie de la section Formulaires du Journey Django de Coddy. Leçon 9 sur 20.
Un événement nécessite une description et un nombre de places. Chaque champ de formulaire vérifie son propre type de valeur, et ses arguments ajoutent des règles. Tu en as rencontré deux : chaque champ est obligatoire, et max_length=100 refuse un titre plus long.
forms.IntegerField(min_value=1, max_value=5): un nombre entier compris entre les limites.forms.EmailField(): refuse le texte qui n’est pas une adresse e-mail.required=Falsesur n’importe quel champ : celui-ci peut rester vide.
Un widget détermine la manière dont un champ est affiché : widget=forms.Textarea crée une grande zone de texte. Un formulaire d’avis sur un produit :
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 champ de texte facultatif vide donne "" dans cleaned_data ; un champ numérique facultatif vide donne None. La boucle de ton modèle affiche les nouveaux champs sans modification.
Défi
FacileAjoute deux champs à EventForm :
description: du texte dans une grande zone, qui peut rester vide.capacity: un nombre entier d’au moins 1.
Dans new_event, enregistre les deux dans l’événement. Clique sur Run et ouvre /events/new/.
Essayez vous-même
from django import forms
class EventForm(forms.Form):
title = forms.CharField(max_length=100)
date = forms.DateField()
place = forms.CharField(max_length=100)
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Formulaires
2Formulaires Django
Un formulaire DjangoCréer un formulaire3Formulaires de modèle
Un formulaire de modèleModifier un événementSupprimer un événementMessages de réussiteEntraînez-vous par vous-même : Playground Django