Requiring Data Entry

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

Requiring Data Entry

You'll often need to ensure that users enter a value into a control on a

page. To make this easy, ASP.NET provides its RequiredFieldValidator

control. On the sample page, EmpMaint.aspx, users must supply values for

the First Name, Last Name, Birth Date, and Hire Date fields. Leaving any of

these blank isn't allowed, and you need some way to indicate this to users.

Figure 8.1 shows the sample form, after a user has attempted to submit the

page by clicking Save without filling in any information. This page

displays individual indicators of the fields that must be supplied.

Figure 8.1. The RequiredFieldValidator control makes it easier to avoid

data fields left empty.

TIP

If you watch carefully as you test this page, you'll see that if you're

using an up-level browser, you don't incur a roundtrip to the server when

you click Save with no data filled in. Because Internet Explorer supports

client-side scripting, ASP.NET emits the correct JavaScript code so that

the page can validate the data before being submitted back to the server.

This capability offloads some of the processing from the server and reduces

network traffic by not requiring a roundtrip just to validate the data.

In order to use a RequiredFieldValidator control, you'll normally need to

set the properties of the control listed in Table 8.1.

Table 8.1. Set These Properties for RequiredFieldValidator Controls

Property Description

ControlToValidate The name of the control you need to validate.

ErrorMessage The text to be displayed if the associated control's value

isn't valid. If you also supply the Text property value, this property's

text only appears in a validation summary. That is, the Text property

overrides the ErrorMessage property for display within the control.

Text The text to be displayed within the control if the associated

control's value isn't valid. If you don't supply this value, the control

displays its ErrorMessage text.

TIP

You'll normally set the properties listed in Table 8.1 for all the

validation controls. We won't list them again, but each validation control

will need to have these properties specified.

To demonstrate the use of the RequiredFieldValidator control, you will

modify the EmpMaint.aspx form, adding the necessary RequiredFieldValidator

controls, as shown in Figure 8.1. You'll load this Web Form from the

Employee hyperlink under the Maintenance section on the main form. Follow

these steps to add the RequiredFieldValidator controls:

Select Project, Add Existing Item. Be sure to change the Files of Type

combo box to "All Files (*.*)".

Add the EmpMaint.* files from the Jumpstart\ValidationControls folder.

There should be three files: EmpMaint.aspx, EmpMaint.aspx.resx, and

EmpMaint.aspx.vb.

Now that you've added the form to your project, double-click the

EmpMaint.aspx file to display the form.

Place your cursor to the right of the First Name text box.

In the Toolbox, double-click the RequiredFieldValidator control to add it

adjacent to the text box.

Repeat this for the Last Name, Birth Date, and Hire Date text boxes.

Set the properties for the new controls as shown in Table 8.2.

Table 8.2. Set These RequiredFieldValidator Properties Control Property

Value

RequiredFieldValidator1 ControlToValidate txtFirst

ErrorMessage First Name must be filled in

RequiredFieldValidator2 ControlToValidate txtLast

ErrorMessage Last Name must be filled in

RequiredFieldValidator3 ControlToValidate txtBirthdate

ErrorMessage Birth Date must be filled in

RequiredFieldValidator4 ControlToValidate txtHireDate

ErrorMessage Hire Date must be filled in

To test your page, right-click the page in the Solution Explorer window and

then select Build and Browse from the context menu. Without entering any

data, click Save. You should see the appropriate error messages appear next

to each text box. Try it again, this time entering some data into some of

the text boxes, and verify that the controls validate correctly.

Although you didn't take advantage of it here, the RequiredFieldValidator

control doesn't actually require you to supply a value梩hat's not how it

works. Actually, the RequiredFieldValidator control invalidates its

associated control if the value in that control isn't different from the

value in the InitialValue property of the RequiredFieldValidator control.

For example, you may want to have the text "Enter a value" in a text box,

and leaving this text intact isn't valid. Placing "Enter a value" into the

InitialValue property of the RequiredFieldValidator control associated with

the text box will ensure that users modify the value of the text box. In

this case, the validator isn't verifying that the user entered a value but

that the user entered a value that is different from the initial value. The

default value of the RequiredFieldValidator's InitialValue field is an

empty string, so by default, the validator forces users to enter a value

that's different from its default梐n empty string.

NOTE

Try posting the page back (click Save) with invalid data on the page. You

won't be able to梩he page simply won't post back when it contains invalid

data.

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