Upload
others
View
19
Download
0
Embed Size (px)
Citation preview
:
.
Client-Side
(JScript )
PostBack ..
PostBack
Client-Side
JScript
Server-Side Validation .
ASP.NET
Validation controls
.
..
.
Validation controls :
Validation tab
ToolBox
PostBack
.
: --
RequiredFieldValidator :
Submit
.
-
RangeValidator :
..
-- CompareValidator :
...
.
-- RegularExpressionValidator :
..
-- CustomValidator
ASP.NET
JScript ..
.
-- ValidationSummary :
.
RangeValidator
textbox
textbox
..
RequeredFieldValidator
.
textbox ..
DropDownList
InputText
DropDownList InputText
value
textbox
text ..
DropDownList
Value
..
RadioButton
CheckBox .
The Validation Process :
Submit
Submit
CausesValidation
True)
CauseValidation
false
true
.
CausesValidation
true
postback
TextChanged
.
.
ValidationControls
BaseValidator
..
BaseValidator : --
ControlToValidate :
.
: Display:
Static :
.
Dynamic :
.
None :
Postback !!
postback
.ValidationSummary
.
--
Enabled :
True
false .
--
ErrorMessage :
ValidationSummary
String .
--
Text :
.
Text
(ErrorMessage)
--
((IsValid():
Privat Function() ..
!
:
10
Label ..
RunTime
Client-Side Validation
postback
.
postback
!)..
.
IsValid()
true
false
:
If Validator.IsValid Then Label1.Text = TextBox1.Text * 10 EndIf
Validator
ID .
:
()IsValid
()IsValid
true
false
.
--
ForeColor
BackColor
font
((.
RequiredFieldValidator :
.
InitialValue
InitialValue
.
<asp:TextBox runat="server" ID="Name" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="Name" Display="dynamic">Name is required </asp:RequiredFieldValidator>
"Name is required"
Submit
name ..
.
RangeValidator :
.
: --
Type
Currency, Date, Double, Integer, and String.
--
MinimumValue
. --
MaximumValue
.
:
<asp:RangeValidator runat="server" Display="dynamic"
ControlToValidate="DayOff" Type="Date" MinimumValue="08/05/2005 MaximumValue="08/20/2005>Day Off is not within the valid range </asp:RangeValidator>
DayOff
20
.
:CompareValidator
...
.
!!
:
--
The RangeValidator
Type
..
Currency, Date, Double, Integer, and String .
type
.
:
..
CompareValidator
:
Type
String
Integers
.
.
" !
..
string
type
.
type
..
--
ValueToCompare
.
--
ControlToCompare
...
--
Operator
DataTypeCheck Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, and
DataTypeCheck
Type
:
<asp:CompareValidator runat="server" Display="dynamic"
ControlToValidate="Age" ValueToCompare="18"
ErrorMessage="You must be at least 18 years old"
Type="Integer" Operator="GreaterThanEqual">*
</asp:CompareValidator>
.
:
<asp:CompareValidator runat="server"
ControlToValidate="Password2" ControlToCompare="Password"
ErrorMessage="The passwords don't match"
Type="String" Display="dynamic">
</asp:CompareValidator>
.
: RegularExpressionValidator Control
URL .
URL
HTTP
.Com
.
ValidationExpression
:Internet E-mail Address
Internet URL
.
..
...
..
.
MetaCharacters
.
CustomValidator Control :
Leap Year ..
CustomValidator .
IsValid()
False
.
JScript
txtleapyear
.
CustomValidator1_ServerValidate
args.value
args.isvalid
true
.
4
false
args.isvalid
page.isvalid()
false .
ServerValidate
:
Dim i As Integer = CInt(args.Value) If (i Mod 4) = 0 Then
args.IsValid = True
Else
args.IsValid = False
End If
ValidationSummary
.
ValidationSummary Control :
ErrorMessage
ValidationGroup
.
(messageBox)
Jscript)
PostBack
ShowMessageBox
true .
ShowSummary
true .
.
:
:
DisplayMode :
SingleParagraph
List
BulletList.
HeaderText .
ValidationSummary
messagebox
ValidationSummary
..
Display
None .
Collection
Validators
page
:
:
For Each ctrl As BaseValidator In Page.Validators
ctrl.Enabled = False
Next
:
..
CausesValidation
false
postback
.
:
Me.Validate() For Each ctrl As BaseValidator In Me.Validators
If ctrl.IsValid = False Then
Dim X As TextBox = CType(Page.FindControl(ctrl.ControlToValidate), TextBox) X.BackColor = Drawing.Color.Red End If
Next
:
.
:
ctrl
.
:
IsValid()
false >>
:
X
TextBox
.. :
FindControl
Page
ID
Control
Control
CType
Control
Textbox
X
textBox
X
Ctrl .
:
X
.
Validation Groups :
..
..
Panels
.
LogIn
..
submit
..
..
!
Validation Groups..
ValidationGroup
submit
panel
..
ValidationGroup
ValidationGroup
login
ValidationGroup
reg
...
submit
ValidationGroup
ValidationGroup
.
ValidationGroup
.
..
Validation Groups
submit
ValidationGroup
postback
.
..
.:
RangeValidator
ValidationGroup
ValidationGroup
submit
.
ValidationGroup
submit
.
submit
))
Page.Validate()
validationgroup
page.isvalid
.
page.validate("groupname")
Page.Validate()
OverLoading
validatiogroup
.
Page.Validate("group1")
:
()
true
page.validate
page.isvalid
true
false
.
( ).
.