אמממ… אם אתה רוצה להגביל אותו בעוד הוא מקליד – אתה צריך לבצע את זה באמצעות בסקריפט בצד לקוח.
אם אתה רוצה לוודא שהוא לא עקף את הסקריפט הזה ולוודא שהתוכן שהתקבל לשרת מכיל לא יותר ממספר התווי שהרשית + הוא לא הקליד גרש – זה אתה מבצע באמצעות טכנולוגיית צד שרת – asp במקרה שלך.
רצוי לבצע תמיד את שני הבדיקות, כי אם אתה מסתמך רק על הסקריפט בצד לקוח, הגולש יכול להוריד אליו את הקובץ שלך, למחוק את הסקריפט, ולשלוח מהמחשב שלו. אופציה שניה היא לוודא בעמוד המקבל שהטופס נשלח תמיד רק תחת הדומיין שלך, אבל אולי גם את זה אפשר לעקוף. אז עושים ואלידציה בשני הצדדים.
את הואלידציה (גם בשרת וגם בלקוח) הכי נכון לבצע באמצעות regexp, שזה תכונה של JS. רצוי שתקרא כמה מאמרים על זה, זה לא הכי פשוט, אבל ברגע שקולטים את הרעיון זה זורם.
בצד לקוח אתה מבצע את הבדיקה באירוע onKeyPressed של התיבה – ז"א על כל תו שהלקוח מזין – מתבצעת הבדיקה, ובצד שרת אתה מעביר את כל המחרוזת שהיתקבלה דרך הבדיקה, שאם מחזירה false – מחזיר שגיאה מתאימה למשתמש.
היי Letter זה מחרוזת, אתה לא צריך לדעת את המספר של כל אות. הפונציה Instr בודקת אם המחרוזת השניה נימצאת במחרוזת הראשונה ואם כן, היא מחזירה את המיקום של ההופעה הראשונה, אם לא מוחזר 0.
11 תשובות
אתה מתכוון ל-input/textarea?
אם כן – שאל בפורום צד לקוח.
אם לא – אנא פרט למה אתה מתכוון.
כן אבל אין אפשרות ב ASP לעשות?
תלוי מה אתה מנסה לעשות בדיוק.
את מה ששאאלתי בהתחלה
הגבלת תווים
ומניעה מהמשתמש לכתוב גרש
אמממ…
אם אתה רוצה להגביל אותו בעוד הוא מקליד – אתה צריך לבצע את זה באמצעות בסקריפט בצד לקוח.
אם אתה רוצה לוודא שהוא לא עקף את הסקריפט הזה ולוודא שהתוכן שהתקבל לשרת מכיל לא יותר ממספר התווי שהרשית + הוא לא הקליד גרש – זה אתה מבצע באמצעות טכנולוגיית צד שרת – asp במקרה שלך.
רצוי לבצע תמיד את שני הבדיקות, כי אם אתה מסתמך רק על הסקריפט בצד לקוח, הגולש יכול להוריד אליו את הקובץ שלך, למחוק את הסקריפט, ולשלוח מהמחשב שלו. אופציה שניה היא לוודא בעמוד המקבל שהטופס נשלח תמיד רק תחת הדומיין שלך, אבל אולי גם את זה אפשר לעקוף. אז עושים ואלידציה בשני הצדדים.
את הואלידציה (גם בשרת וגם בלקוח) הכי נכון לבצע באמצעות regexp, שזה תכונה של JS. רצוי שתקרא כמה מאמרים על זה, זה לא הכי פשוט, אבל ברגע שקולטים את הרעיון זה זורם.
בצד לקוח אתה מבצע את הבדיקה באירוע onKeyPressed של התיבה – ז"א על כל תו שהלקוח מזין – מתבצעת הבדיקה, ובצד שרת אתה מעביר את כל המחרוזת שהיתקבלה דרך הבדיקה, שאם מחזירה false – מחזיר שגיאה מתאימה למשתמש.
אפשר דוגמה של בדיקה ב ASP
דוגמה ממש קטנה על איך
מגבילים את מספר התווים ב ASפ
ואם אפשר דוגמא איך מונעים להכניס אות מסוימת
דוגמא
לא עדיף שתעשה את הבדיקה בצד הלקוח?
מספר תווים :
MaxLen=5
if len(request.form("your_field"))>MaxLen then
'your code…
end if
אות
Letter="a"
if instr(request.form("your_field"),Letter)>0 then
'your code…
end if
הערך של A שווה לאפס?
איך אני אדע את המספרים של כל אות?
מה זו אומר אם זה גדול מאפס?
היי
Letter זה מחרוזת, אתה לא צריך לדעת את המספר של כל אות.
הפונציה Instr בודקת אם המחרוזת השניה נימצאת במחרוזת הראשונה ואם כן, היא מחזירה את המיקום של ההופעה הראשונה, אם לא מוחזר 0.