Validating Expressions

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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值