ASP.NET הפכה את נושא אימות הנתונים להרבה יותר פשוט. במאמר זה אני נסביר על הדרכים האפשריות לאימות.
ישנם חמישה פקדי אימות בASP.NET :
פקד זה תפקידו לבדוק האם הוזנו נתונים או לא
אופן השימוש
| <asp:RequiredFieldValidator id="RequiredFieldValidator1" ControlToValidate="Textbox1" text="Cant be null" runat="server" /> |
|
|
לפקד זה יש שני מאפיינים חשובים
- ControlToValidate- על מי יבצע את הבדיקה
- text-מה ירשום כאשר השדה נשאר ריק
דוגמא לשימוש:
| <form runat=server> <asp:TextBox id=Textbox1 runat="server"/> <asp:RequiredFieldValidator id="RequiredFieldValidator1" ControlToValidate="Textbox1" text="*" runat="server" /> <asp:Button id="Button1" runat="server" Text="Check" /> </form> |
|
|
תוצאה
RangeValidator
מוודא שהוכנס קלט בין X ל Y כאשר ה-X וה-Y יכולים להיות תאריכים,מספרים ואותיות
אופן שימוש
| <asp:RangeValidator id="rangeValInteger" Type="XXX" ControlToValidate="textbox1" MaximumValue="#" MinimumValue="#" runat="server" text="Not valid!" /> |
|
|
לפקד זה יש ארבעה מאפיינים חשובים
- Type- סוג הקלט שאמור לבדוק, לדוגמא:Integer למספרים Date לתאריכים ו String לאותיות
- ControlToValidate- על מי יבצע את הבדירה
- MinimumValue- הערך המינימלי שיוכל לקבל לדוגמא:1,a,1/1/1999
- MaximumValue- הערך המקסימלי שיכול לקבל לדוגמא:10,z,30/12/2004
דוגמא לשימוש:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
| <form runat=server> <asp:TextBox id=Textbox1 runat="server"/> (5 to 10 only) <asp:RangeValidator Type="Integer" id="rangeValInteger1" ControlToValidate="Textbox1" MaximumValue="10" MinimumValue="5" runat="server" text="Not valid!" /> <asp:Button id="Button1" runat="server" Text="Check" /> </form> |
|
|
תוצאה
RegularExpressionValidator
מוודא שהקלט שהוכנס מתאים למחרוזת שניתה לדוגמא:כתובת איימל,טלפון וכו'
אופן השימוש
| <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" ValidationExpression="XXXX" /> |
|
|
לפקד זה יש מאפיין חשוב אחד
- ValidationExpression- סוג הקלט שיבדוק
דוגמא לשימוש:
| <form runat=server> <asp:TextBox id=Textbox1 runat="server"/> (Zip code) <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" ValidationExpression="^\d{5}$" text="Not valid!" /> <asp:Button id="Button1" runat="server" Text="Check" /> </form> |
|
|
תוצאה
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
כתובת אינטרנט –
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
תפקידו להשוות בין שני נתונים
אופן שימוש
| <asp:CompareValidator id="CompareValidator1" text="xxx" ControlToValidate="textbox1" ControlToCompare = "textbox2" Type="XXX" operator="XXX" runat="server" /> |
|
|
לפקד זה יש ארבעה מאפיינים חשובים
- Controltovalide- הערך המקורי שמושווה
- ControlToCompare- שערך שאותו ישוו לערך המקורי
- Type- סוג הנתונים שאמור לקבל
- operator- סוג ההשוואה לדוגמא:גדול מ,שווה ל, וכו'
דוגמא לשימוש:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
| <form runat=server> <asp:TextBox id=Textbox1 runat="server"/> <asp:TextBox id=Textbox2 runat="server"/> <asp:CompareValidator text="Not Valid!" id="CompareValidator1" ControlToValidate="textbox1" ControlToCompare="textbox2" Type="string" operator="equal" runat="server" /> <asp:Button id="Button1" runat="server" Text="Compare" /> </form> |
|
|
תוצאה
CustomValidator
בודק ערך על פי קוד שכתבת בעצמך
אופן שימוש
| <asp:CustomValidator id="CustomValidator1" runat="server" ControlToValidate="Textbox1" OnServerValidate="XXX" text="xxx" /> |
|
|
לפקד זה יש מאפיין חשוב יחיד
- OnServerValidate- זו השגרה שבה נרשום את הקוד הרצוי לבדיקה
דוגמא לשימוש:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
| <script runat=server> sub validate_textbox1(obj as Object, args as ServerValidateEventArgs) if len(args.Value) > 9 then args.IsValid = false else args.IsValid = true end if end sub </script> <form runat=server> <asp:TextBox id=Textbox1 runat="server"/> (No more then 9 chars) <asp:CustomValidator id="CustomValidator1" runat="server" ControlToValidate="Textbox1" OnServerValidate="validate_textbox1" text="Not valid!" /> <asp:Button id="Button1" runat="server" Text="Check" /> </form> |
|
|
הסבר
הפרמטר args הוא אובייקט מסוג ServerValidateEventArgs והוא מכיל בעצם את הtext של textbox1 עכשיו ביצענו בדיקה פשוטה של כמות התווים והחזרנו ערך בהתאם
תוצאה
ValidationSummary
פקד נועד לאסוף את כל השגיות ולהציגם במרוכז
אופן שימוש
| <asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="XXXX" Displaymode=XXX /> |
|
|
לפקד זה שתי תכונות חשובות:
- Headertext- הטקסט שיוצג בראש השגיאות
- Displaymode- איך יוצגו השגיאות
אפשרויות לדרך התצוגה של סיכום השגיאות:
- SingleParagraph-מראה את השגיאות אחת אחרי השנייה
- BulletList-מראה רשימה ונקודה ליד כל שגיאה (ברירת מחדל)
- List-רשימה ללא נקודה ליד כל שגיאה
*בשביל להציג תיבת דו שיח עם השגיאות יש להוסיף: ShowMessageBox="True"
דוגמא לשימוש ללא תיבת דו שיח
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
| <form runat=server> User Name:<asp:TextBox id=Textbox1 runat="server"/> <asp:RequiredFieldValidator id="RequiredFieldValidator1" ControlToValidate="Textbox1" errormessage="Name is Required" text="*" runat="server" /> Password:<asp:TextBox id=Textbox2 runat="server"/> <asp:RequiredFieldValidator id="RequiredFieldValidator2" ControlToValidate="Textbox2" errormessage="Password is Required" text="*" runat="server" /> <hr> <asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="There are errors in the page!" /> <asp:Button id="Button1" runat="server" Text="Check" /> </form> |
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
| <form runat=server> User Name:<asp:TextBox id=Textbox1 runat="server"/> <asp:RequiredFieldValidator id="RequiredFieldValidator1" ControlToValidate="Textbox1" errormessage="Name is Required" text="*" runat="server" /> Password:<asp:TextBox id=Textbox2 runat="server"/> <asp:RequiredFieldValidator id="RequiredFieldValidator2" ControlToValidate="Textbox2" errormessage="Password is Required" text="*" runat="server" /> <hr> <asp:ValidationSummary showmessagebox=true ID="ValidationSummary1" runat="server" HeaderText="There are errors in the page!" /> <asp:Button id="Button1" runat="server" Text="Check" /> </form> |
|
|
תגיות: ASP.Net, validator, אימות, ואלידציה
תגובות בפייסבוק