מהו אימות טופס?
עריכהנניח, שאחד משדות הקלט בטופס שיצרתם הוא 'שנת לידה של המשתמש'. אנו רוצים שהמשתמש יכתוב בו מספר. יתרה מזאת אפשרות כמו 1774 אינה הגיונית. אימות הטופס משמעו בדיקה שהמשתמש הכניס את מה שציפיתם בכל אחד משדות הקלט.
אימות בעזרת Javascript
עריכההרבה טפסים נעזרים ב-Javascript על מנת לאמת שדות טפסים. העקרון הכללי של אימות בעזרת Javascript הוא לבדוק את הטופס בעת מילויו על ידי המשתמש, או לפני שליחת הטופס.
יתרונות:
- המשתמש מקבל חיווי מיידי על שדה שלא מולא נכון.
חסרונות:
- ניתן לעקוף אימות ע"י Javascript על-ידי שליחת הטופס ישירות, ללא שימוש בדף הטופס שלכם.
- משתמשים מסויימים שחרדים לאבטחת המחשב שלהם לא מריצים תסריטי Javascript ולא יבינו מדוע הטופס אינו נשלח.
אימות ע"י js יתבצע ע"י כתיבת תסריט שבודק בעת יציאת הפוקוס מן השדה האם הוקלד משהו תקין
ז"א משתמשים במצביע לכיוון השדה לדוגמא
text = this.form.text1.text
אחרי שהקצינו למשתנה text את הערך שבשדה text1 ניתן לבודקו ע"י IF
לדוגמא
if (text1 == yyy)' = example
alert = (bullshit) 'blabla
end if
אימות בעזרת שפת צד-שרת
עריכהגם אם משתמשים ב-Javascript וגם אם לא, עדיין חובה להשתמש בשפת צד-שרת לאימות שדות הטופס. העקרון הוא בדיקת הטופס לאחר שליחתו.
יתרונות:
- סותם פרצות אבטחה חמורות מאוד בעבודה עם מסדי נתונים.
- לא ניתן לעקיפה על ידי משתמש מתוחכם.
- לא תלוי בשאלה 'האם המשתמש מריץ Javascript'.
חסרונות:
- המשתמש לא מקבל חיווי מיידי על שדה שלא מולא נכון.
- אם טופס הוגש לא נכון, המשתמש יצטרך למלא אותו מחדש.
שביל הזהב
עריכההדרך הטובה ביותר לאמת טפסים היא על ידי שילוב של Javascript עם אימות בצד השרת. משתמש שמפעיל Javascript יהנה מחיווי בזמן אמת על שדה שלא מולא נכון, ומשתמש שאינו מפעיל Javascript יקבל חיווי לאחר השליחה. כך משיגים את כל היתרונות.
כמו כן, ניתן להתגבר על החסרון השני של אימות בעזרת שפת צד-שרת. בעזרת שימוש בערכי ברירת המחדל, ניתן להגיש למשתמש טופס חדש עם השדות שהוא מילא באופן תקין (על ידי שימוש בערכים התחיליים של שדות הקלט), והשדות הפגומים מסומנים באדום על מנת לתפוס את תשומת ליבו.
דוגמאות
עריכהטופס שמאומת רק על ידי Javascript
עריכהטופס שמאומת על ידי PHP בלי לשמור את הערכים התקינים
עריכהשביל הזהב
עריכהניווט
עריכההפרק הקודם: כל המאפיינים של כל התגים |
שיטות לאימות טפסים תרגילים |
הפרק הבא: סיכום טפסים |
אלמנטים רלוונטיים: