Asp.NET Core Vaidation Controls

31
Asp.NET Core Vaidation Controls

description

Asp.NET Core Vaidation Controls. 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 - PowerPoint PPT Presentation

Transcript of Asp.NET Core Vaidation Controls

Page 1: Asp.NET Core Vaidation Controls

Asp.NET Core Vaidation Controls

Page 2: 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

Page 3: Asp.NET Core Vaidation Controls

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

Page 4: Asp.NET Core Vaidation Controls

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

Page 5: Asp.NET Core Vaidation Controls

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

Page 6: Asp.NET Core Vaidation Controls

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)}

Page 7: Asp.NET Core Vaidation Controls

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

Page 8: Asp.NET Core Vaidation Controls

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

Page 9: Asp.NET Core Vaidation Controls

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

Page 10: Asp.NET Core Vaidation Controls

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

Page 11: Asp.NET Core Vaidation Controls

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

Page 12: Asp.NET Core Vaidation Controls

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; } }

Page 13: Asp.NET Core Vaidation Controls

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

Page 14: Asp.NET Core Vaidation Controls

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

Page 15: Asp.NET Core Vaidation Controls

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”

Page 16: Asp.NET Core Vaidation Controls

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

Page 17: Asp.NET Core Vaidation Controls

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"

Page 18: Asp.NET Core Vaidation Controls

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)

Page 19: Asp.NET Core Vaidation Controls

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

Page 20: Asp.NET Core Vaidation Controls

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

Page 21: Asp.NET Core Vaidation Controls

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

Page 22: Asp.NET Core Vaidation Controls

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 ]

Page 23: Asp.NET Core Vaidation Controls

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

Page 24: Asp.NET Core Vaidation Controls

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

Page 25: Asp.NET Core Vaidation Controls

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

Page 26: Asp.NET Core Vaidation Controls

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

Page 27: Asp.NET Core Vaidation Controls

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"

Page 28: Asp.NET Core Vaidation Controls

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

Page 29: Asp.NET Core Vaidation Controls

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" />

Page 30: Asp.NET Core Vaidation Controls

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

Page 31: Asp.NET Core Vaidation Controls

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)