Validating Expressions

王朝asp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

Validating Expressions

What if you need to verify that text someone has entered is a correctly

formatted Canadian postal code? What if you need a user to enter a valid

e-mail address? Although you could write the necessary code to validate

these types of expressions (and many ASP developers did just that), ASP.NET

makes it easy to validate complex expressions.

Using the power of regular expressions, a widely accepted standard for

generalizing pattern matching, ASP.NET provides the

RegularExpressionValidator control. This control allows you to specify a

regular expression to match against text entered into a control. (Regular

expressions are templates for matching text梩he DOS wildcards, * and ?,

allow you to create very simple regular expression-like templates, although

real regular expressions are far more complex.)

Although coverage of creating your own regular expressions is beyond the

scope of this book (it's a huge topic, with reference books all its own),

Visual Studio .NET helps you create common regular expressions by providing

a list of the ones you're most likely to need, including U.S., French,

German, and Japanese phone numbers and postal codes, Internet e-mail

addresses, and Internet URLs.

As an example, the regular expression for U.S. ZIP codes looks like this

(remember that U.S. ZIP codes can be either five digits, such as 98765, or

five digits followed by a hyphen and four more digits, such as 98765-1234.

No other formats are allowed):

\d{5}(-\d{4})?

Here's an explanation of this example, taken apart bit by bit:

The \d{5} part of the expression matches against exactly five numeric

digits.

The (-\d{4})? part of the expression allows for the optional four digits.

The ()? part of the expression creates an optional group梕ither the whole

group appears or it doesn't. The parentheses group the expressions, and the

question mark indicates that the group is optional.

The hyphen (-) in this expression allows a hyphen as the first character in

the group.

The \d{4} part of the expression matches against four numeric digits.

To illustrate the use of this control, let's assume that on the sample

page, EmpMaint.aspx, you need to restrict data entry in the Home Phone

field to ensure valid U.S. phone numbers. You need to restrict data entry

in the Zip Code field as well. Follow these steps to add

RegularExpressionValidator controls to manage the input into these

controls, as shown in Figure 8.2:

Figure 8.2. Use the RegularExpressionValidator control to manage data input

for complex values.

Click to the right of the Zip Code text box, placing the insertion point at

that location.

In the Toolbox window, double-click the RegularExpressionValidator control,

placing a new instance on the page adjacent to the Zip Code text box.

Repeat the previous two steps for the Home Phone text box.

Set the properties for the two validation controls as shown in Table 8.5.

Table 8.5. Set These Properties for Your RegularExpressionValidator

Controls Control Property Value

RegularExpressionValidator1 ControlToValidate txtZipCode

Display Dynamic

ErrorMessage Enter a ZIP code in the format 99999-9999

ValidationExpression Click the … button and select U.S. Zip Code to

insert \d{5}(-\d{4})?)

RegularExpressionValidator2 ControlToValidate txtHomePhone

Display Dynamic

ErrorMessage Enter a phone number in the format (999) 999-9999

ValidationExpression Click the … button and select U.S. Phone Number to

insert ((\(\d{3}\)?)|(\d{3}-))?\d{3}-\d{4})

After setting all the properties, view the page in Browse mode again and

verify that entering invalid ZIP code and phone number values does indeed

display error messages as the page attempts to validate the data.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航