HTML/טפסים/אימות

מהו אימות טופס?

עריכה

נניח, שאחד משדות הקלט בטופס שיצרתם הוא 'שנת לידה של המשתמש'. אנו רוצים שהמשתמש יכתוב בו מספר. יתרה מזאת אפשרות כמו 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 בלי לשמור את הערכים התקינים

עריכה

שביל הזהב

עריכה

ניווט

עריכה
הפרק הקודם:
כל המאפיינים של כל התגים
שיטות לאימות טפסים
תרגילים
הפרק הבא:
סיכום טפסים


אלמנטים רלוונטיים: