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>
|
|
|
תוצאה

1
2
3
<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>
|
|
|
תוצאה

1
2
3
4
5
6
<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> |
|
|
תוצאה
,[,{,^,$,. יכולים לשמש כתו רגיל, זאת אומרת שאם נכתוב את המילה “Dog” המשתמש יהיה חייב לרשום Dog<br/>
<br/>
הסבר על התווים המיוחדים:<br/></p><ul><li><b>.</b> – תו זה מתאים לתו יחיד זאת אומרת שניתן להחליף אותו בכל תו יחיד אפשר<li><b>\</b> -אלכסון זה הופך את התווים המיוחדים לרגילים זאת אומרת אם אתה רוצה שהשתמש יכניס “.” תצטרך לעשות “.\” במקום שתצטרך “(כל תו אפשרי)\”<li><b>?</b> -תו זה בעצם גורם להעלים טקסט לדוגמא אם עשינו “d?og” נמצטרך לכתוב “og” או “dog” או מאפשר לחתוך את המילה אך הוא לא מחייב את זה<li><b>+</b> -מתאים להופעות רבות של קטע לדוגמא “d+og” נצטרך לכתוב “dddog” (מספר בתי מוגבל של d) או בכלל לא “og” גם יתאים<li><b>*</b> -מתאים להופעות רבות של התו ואחריו צירוף לדוגמא “d*og” נצטרך לכתוב “dddog” (כמות בלתי מוגבל של D) ואחרי הD חובה שיבוא הצירוף “og” יתאים גם ל”og”<li><b>()</b> -משמש בשביל לאכסן מחרוזת לדוגמא (dog)<li><b>|</b> -משמש בתור or (ו) לדוגמא “(dog)|(DOG)” יהיה ניתן לרשום “dog” ו “DOG”<li><b>[]</b> -משמש להכיל קבוצה לדוגמא “[odg]” יוכל לקבל “o”,”d”,”g”<li><b>{}</b> -משמש בשביל להתאים כמות מסויימת של תווים לדוגמא “{3}dog” יתאים ל “dogdogdog”<li><b>^</b> -משתמש כNOT לדוגמא “[^odg]” יקבל את כל התווים חוץ מ “o”,”d”,”g”<li><b>$</b> -משמש בשביל לקבוע מילה בסוף מחרוזת לדוגמא “dog$” יתאים ל “I love my dog” אבל לא ל “My dog love me”</ul><p><b><br/>
מחרוזות נפוצות לבדיקה:<br/>
</b><br/>
<br/>
איימל-</p><p><span
class=code dir=ltr><br/>
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*</span></p><p>כתובת אינטרנט –</p><p><span
class=code dir=ltr>http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?<br/>
</span></p><p><h3><a
name=CompareValidator>CompareValidator</a></h3><p>תפקידו להשוות בין שני נתונים<br/>
<br/><b>אופן שימוש</b></p><p><span
class=code dir=ltr><br/></p><table
cellpadding=0 cellspacing=0 border=0><tr><td
bgcolor=#D8D8D8 width><table
cellpadding=2 cellspacing=0 border=0 with=100%><tr><td>
<font
face=)
1
2
3
4
5
6
7
8
9
<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>
|
|
|
תוצאה
</b></p><ul><li>DataTypeCheck-משווה בין סוגי נתונים לדוגמא מספרים ואותיות<li>Equal-בודק האם שני הערכים שווים<li>Notequal-בודק האם שני הערכים שונים<li>Greaterthen-בודק האם גדולמ-<li>Greaterthenequal-בודק האם גול מ- שווהל-<li>Lessthen-בודק האם קטן מ-B<li>Lessthenequal-בודק האם קטן מ- שווה ל-</ul><p><font
color=red>*בשביל להשוות מול ערך קבוע יש לשנות את: ControlToCompare ל Valuetocompare ולרשום את הערך</font></p><p>
<b><br>
סוגים לשימוש במאפיין type<br>
</b><br>
<Br></p><ul><li>Integer-מספרים שלמים<li>Double-מספרים בעלי נקודה צפה<li>Date-תאריכים<li>Currency-מטבע<li>String-מחרוזות</ul><p><P></p><h3><a
name=CustomValidator>CustomValidator</a></h3><p>בודק ערך על פי קוד שכתבת בעצמך<br>
<br><b>אופן שימוש</b></p><p><span
class=code dir=ltr><br></p><table
cellpadding=0 cellspacing=0 border=0><tr><td
bgcolor=#D8D8D8 width><table
cellpadding=2 cellspacing=0 border=0 with=100%><tr><td>
<font
face=)
1
2
3
4
5
6
7
<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 עכשיו ביצענו בדיקה פשוטה של כמות התווים והחזרנו ערך בהתאם
תוצאה

1
2
3
4
5
6
<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>
|
|
|

תגובות בפייסבוק