Using Validation-Control Properties Providing a Summary View of Validation Failures

277 MinimumValue The minimum value of the range. The default is an empty string. Type The data type of the value being validated. The value being validated, as well as the maximum and minimum values, are all converted to this type before the comparisons are made. The possible values are Currency , Date , Double , Integer , and String . The default is String . The RegularExpressionValidator control recognizes this additional attribute: ValidationExpression The regular expression against which to validate. The RequiredFieldValidator control recognizes this additional attribute: InitialValue The value considered a blank value. The default is an empty string. Validation fails if and only if the value in the control to be validated matches the value given in the InitialValue attribute.

6.4.2 Using Validation-Control Properties

The names of the attributes listed in the previous section are also the names of the corresponding properties of the control classes. These properties can be read or set in code, if desired. For example, after a value is specified for the ErrorMessage attribute, that value can be read in code by reading the ErrorMessage property of the control. Similarly, attributes need not be used at all. Instead, values can be directly written to the corresponding properties in code. In addition to the properties that match the attributes in the previous section, the validator controls all have the following properties: Enabled This Boolean property specifies whether the validation control is enabled. When this property is set to False , the control does not attempt to perform validation. The default is True . IsValid This Boolean property indicates whether the value in the associated control passes validation. PropertiesValid This read-only Boolean property indicates whether the value specified by the ControlToValidate property is a valid control on the page. RenderUplevel This read-only Boolean property indicates whether the browser supports up-level rendering. 278

6.4.3 Providing a Summary View of Validation Failures

In addition to placing each error message next to the field that is in error, there is another option. Using the ValidationSummary control, you can display a summary of a web pages validation errors either on the page, in a message box if the browser is enabled for client-side JavaScript, or both. For example, you could add the following fragment to the code in Ex am ple 6- 7 new code is shown in bold; the surrounding lines are shown for context: body form action=ValidationTest2.aspx method=post runat=server asp:ValidationSummary HeaderText=Some information is missing or mis-typed. Please make corrections for the following items, then click the Submit button again. Thank you runat=server table tr The ValidationSummary control automatically detects validation controls that are on the same page. If validation fails, the ValidationSummary control displays the ErrorMessage properties from all validation controls that reported failure. This displays in addition to the display of each individual validation control. In practice, it is unlikely that both displays are desired, so the Display attribute of each validation control can be set to None to suppress individual display, like this: asp:RequiredFieldValidator id=recFldFullName ControlToValidate=txtFullName ErrorMessage=Full Name is required. Display=None runat=server Figur e 6- 10 shows how these changes affect the web page when validation fails. Figure 6-10. Using the ValidationSummary control 279 The attributes recognized by the ValidationSummary control are: DisplayMode Specifies the format in which the error messages are displayed. The possible values are: BulletList Displays the error messages in a bulleted list. This is the default. List Displays the error messages in a list without bullets. SingleParagraph 280 Displays the error messages in paragraph form. EnableClientScript Specifies whether to enable a client-side script if supported by the browser. The default is True . ForeColor Defines the color in which the summary is displayed. The default is Red . Valid values for this attribute are given by the Color structure defined in the System.Drawing namespace. See Chapt er 4 for information about the Color structure. HeaderText Displays a message above the summarized items. The default is an empty string. ShowMessageBox Indicates whether to show the summary in a message box using a client-side script. If this attribute is set to True and the browser supports JavaScript, the summary is shown in a message box see Figur e 6- 11 . If set to False , no message box is shown. The default is False . Figure 6-11. Showing the validation summary in a message box ShowSummary Indicates whether to show the summary on the web page. If this attribute is set to True , the summary is shown on the web page. If set to False , the summary is not shown on the web page. The default is True . Note that the ShowMessageBox and ShowSummary attributes are independent of each other. If both are set to True , the summary is shown in both ways. These attributes all correspond to like-named properties of the ValidationSummary class and can be read and modified in code.

6.4.4 Performing Custom Validation