Menu
CoddyTech

בדיקת שדה אחד

חלק מהיחידה טפסים במסלול ה-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 username

is_valid() קוראת לה אחרי הבדיקות של השדה עצמו, כך שהערך כבר הומר: DateField מחזיר תאריך. העלאת forms.ValidationError דוחה את השדה, וההודעה מופיעה מתחתיו.

המתודה חייבת return את הערך: מה שהיא מחזירה נכנס אל cleaned_data. בלי return, הערך הופך ל־None.

challenge icon

אתגר

קל

ב־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)

כל השיעורים ביחידה טפסים

תרגלו בעצמכם: Django אונליין