בדיקת שדה אחד
חלק מהיחידה טפסים במסלול ה-Django של Coddy. שיעור 10 מתוך 20.
הלוח מקבל אירועים שתוארכו לשנה שעברה. הכללים המובנים מכירים סוגים ומגבלות, אך לא את האתר שלך. כלל משלך עבור שדה אחד נכנס למתודה ששמה הוא clean_ בתוספת שם השדה. טופס הרשמה ששומר את השם admin לצוות:
class SignupForm(forms.Form):
username = forms.CharField(max_length=30)
def clean_username(self):
username = self.cleaned_data["username"]
if username.lower() == "admin":
raise forms.ValidationError("That name is reserved.")
return usernameis_valid() קוראת לה אחרי הבדיקות של השדה עצמו, כך שהערך כבר הומר: DateField מחזיר תאריך. העלאת forms.ValidationError דוחה את השדה, וההודעה מופיעה מתחתיו.
המתודה חייבת return את הערך: מה שהיא מחזירה נכנס אל cleaned_data. בלי return, הערך הופך ל־None.
אתגר
קלב־EventForm, דחה תאריך שקודם להיום באמצעות ההודעה The date cannot be in the past. תאריך של היום מתאים.
לחץ על הפעלה והוסף אירוע שתאריכו אתמול.
נסו בעצמכם
from django import forms
class EventForm(forms.Form):
title = forms.CharField(max_length=100)
date = forms.DateField()
place = forms.CharField(max_length=100)
description = forms.CharField(widget=forms.Textarea, required=False)
capacity = forms.IntegerField(min_value=1)
כל השיעורים ביחידה טפסים
2טפסי Django
טופס Djangoיצירת טופסתרגלו בעצמכם: Django אונליין