Asp.NET Core Vaidation Controls
Feb 22, 2016
Asp.NET Core Vaidation Controls
Slide 2
ASP.NET Validation Controls (Introduction) The ASP.NET validation controls can be
used to validate data on the client, the server, or both Client-side validation is performed using
automatically generated JavaScript Server-side validation is performed using
VB or C# code in the proper event handler Server-side validation is always enabled
while client-side validation is optionally enabled
Slide 3
ASP.NET Validation Controls (Introduction) If client-side validation is enabled, we
don’t postback until the client ‘thinks’ the values are valid
Always validate on the server-side too to thwart those hackers doing a post on their own
Slide 4
ASP.NET Validation Controls (Server Processing Model 1) Validation controls apply their rules and
validate a corresponding control Call the Page.Validate() method to force
the validation controls to execute This is usually not necessary
Test Page.IsValid to determine whether the page has valid data or not
Slide 5
ASP.NET Validation Controls (Server Processing Model 2) Page states
Controls are initialized and populated when the page is loaded
After the page loads, the controls are validated and the Page.IsValid property is set
The Page.Validators property contains results of each control’s validator Each item in the collection implements IValidator
Slide 6
Checking the Validators (Example) Display the validation messages:
For Each v In Page.Validators Response.Write(v.ErrorMessage)Next
foreach (Ivalidator v in Page.Validators){
Response.Write(v.ErrorMessage)}
Slide 7
ASP.NET Validation Controls (Concepts) Set the ControlToValidate property
the control instance that will be validated
Set EnableClientScript to enable client-side validation ASP will generate the necessary JavaScript
Set the ErrorMessage property to the error message that will appear in the validation control
Slide 8
ASP.NET Validation Controls (RequiredFieldValidator and RangeValidator) RequiredFieldValidator checks that a
control has a value RangeValidator checks that a controls
value is within a valid range Set the MinimumValue and MaximumValue
properties to the valid range A control with no valid is considered valid Use with the RequiredFieldValidator to
prevent this Set the Type property to define the data
type to be stored in the control to validate
Slide 9
ASP.NET Validation Controls (CompareValidator) The CompareValidator validates that
the values of two other control instances are the same Set the ControlToValidate and ControlToCompare properties
Optionally use a RequiredFieldValidator so that empty controls will not be valid
Slide 10
ASP.NET Validation Controls (CustomValidator) The CustomValidator control allows
you to easily create custom and client script and server event handlers Set the ControlToValidate as usual Set the ClientValidationFunction to
the name of the JavaScript function appearing on the client
Server-side validation is automatic You must write the code for the ServerValidate event handler
Slide 11
ASP.NET Validation Controls(CustomValidator) The client validation function must
accept two arguments The first contains the object that fired the
event The second contains the event data
Slide 12
ASP.NET Validation Controls(CustomValidator) (Example Client)function validateLength(src,args) { if (args.Value.length <=6) { args.IsValid = true; document.title = "true=" + args.Value.length; } else { args.IsValid = false; document.title = "false" + args.Value.length; } }
Slide 13
ASP.NET Validation Controls (RegularExpressionValidator) It validates another control instance
against a regular expression The regular expression is stored in the ValidationExpression property
Slide 14
ASP.NET Validation Controls(CustomValidator) (Example Client)Protected Sub
CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
If args.Value.Length > 6 Then args.IsValid = True Else args.IsValid = False End IfEnd Sub
Slide 15
Regular Expressions (Introduction) Regular expressions are used
throughout computer science and programming languages as a means of pattern matching
Patterns are matched using a regular expression engine You generally don't run the engine directly Different implementations have different
"flavors”
Slide 16
Regular Expressions (Implementations) Some consider Perl 5 as the basis or
standard for regular expressions .NET supports regular expressions JavaScript supports regular expression UNIX scripting languages support regular
expressions And of course XML supports them
Slide 17
Regular Expressions (Literal Values) The most simple of regular expressions will
match a literal value By default, regular expressions are case sensitive
The regular expression "cat" contains three literal characters
It will match the following patterns "concatenate" "the cat ran away"
Slide 18
Regular Expressions (Quantifiers) Quantifiers denote how many times a
character or pattern can repeat Quantifiers (list)
* (0 or more) + (1 or more) ? (0 or 1)
Slide 19
Quantifiers (Example) 1?5?
1 can appear 0-1 times and 5 can appear 0-1 times
This pattern also matches an empty string because 1 or 5 can appear 0 times
Slide 20
Quantifiers (Numeric Range) Quantifiers allow us to specify how
many times a pattern can occur Numeric range quantifiers appear in
curly braces {n} Must occur exactly n times {n,m} Must occur between n and m
times {n,} Must occur n or greater times
Slide 21
Special Characters (Introduction) Some characters (*, ?, +, and others)
have special meaning when creating regular expressions These characters are called
metacharacters To include these characters as literal
characters in a regular expression, they must be escaped The \ is the escape character
Slide 22
Special Characters (List) \n \r \t \\ \| \- \^ \? \* \+ \{ \} \( \) \[ \]
linefeed carriage return tab The backward slash \ The vertical bar | The hyphen - The caret ^ The question mark ? The asterisk * The plus sign + The open curly brace { The close curly brace } The open paren ( The close paren ) The open square bracket [ The close square bracket ]
Slide 23
Special Characters (.) The dot (.) matches any character
(except for the newline character) Thus, the following would match any
character followed by the digit 0
.0
Slide 24
Character Classes (List 1) \s matches a space \S matches any character that is not a
space \d matches any digit \D matches any character that is not a
digit \w matches a word \W matches any character sequence
that is not a word
Slide 25
User Defined Character Classes (1) We can tell the regular expression
engine to match a range of characters Square brackets surround the range Only one character can appear in the
range
Slide 26
User Defined Character Classes (2) A hyphen can appear in a character
class to denote a range Multiple ranges can appear in a character
class The order of ranges is not significant
Examples A name beginning with a letter followed by
any sequence of upper-case or lower-chase characters
Slide 27
Negation The caret "^" is the negation character
when used in a character class A "q" followed by any sequence of
characters that is not a "u"
Slide 28
Start of Pattern and End of Pattern Anchors are used to match a position "^" matches the start of a pattern "$" matches the end of the pattern
Slide 29
Alternation Alternation is basically a logical or The vertical bar is the alternation
symbol
Example: The following matches "cat" or "dog" <xs:pattern value="cat|dog" />
Slide 30
.NET and Regular Expressions The System.Text.RegularExpressions
namespace contains classes designed to match regular expressions against a string
A Match object is returned by a pattern-matching operation
Slide 31
Testing a Regular Expression The following statement runs a regular
expression against a string and returns a Match:
Dim Result As _ System.Text.RegularExpressions. _ Match
Result = _ System.Text.RegularExpressions. _ Regex.Match(txtString.Text, _ txtPattern.Text)