diff options
author | Alban Gruin | 2018-01-17 21:19:15 +0100 |
---|---|---|
committer | Alban Gruin | 2018-01-17 21:32:59 +0100 |
commit | 8418b6b82e892a435b16f2be90ae94bb7961416b (patch) | |
tree | 433299f2b3e1f9c2ad801f372dd9171ca79270c9 | |
parent | 97f62a20f1716a9915358959b2e25912e8b17a90 (diff) |
Validation du formulaire
-rw-r--r-- | forms.py | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -39,3 +39,17 @@ class QSJPSForm(forms.Form): self.fields["day"].initial = tz_now() self.fields["begin"].initial = tz_now().strftime("%H:%M") self.fields["end"].initial = (tz_now() + timedelta(hours=1)).strftime("%H:%M") + + def clean(self): + form_data = self.cleaned_data + + # On vérifie que les valeurs de début et de fin sont correctes + # (si ce n’est pas le cas, elles ne se trouvent pas dans le + # dictionnaire), et, le cas échéant, on vérifie que l’heure de + # début est strictement inférieure à l’heure de fin. + if "begin" in form_data and "end" in form_data and \ + form_data["begin"] >= form_data["end"]: + # Si l’heure de fin est plus petite ou égale, on affiche + # une erreur. + self._errors["end"].append("L’heure de début doit être supérieure à celle de fin.") + return form_data |