The examples shown in this chapter have been kept intentionally simple. In a real application, however, you might have a form with a great many controls on it. In addition, the form may be divided into sections, with more than one button that can submit the form, depending on what the user is doing. At times, it is convenient to be able to say "when I press the first button, I want to validate only these first five controls; but when I press the second button, I want to validate only the last four controls." This allows you to create forms in which you expect that some of the controls will be invalid, depending on how the form is submitted. To accomplish this, you set the ValidationGroup property on all the controls (and the button that submits the form) to the same value for each group. In the example described earlier, the first five controls and the first button might all have ValidationGroup set to GroupOne while all the other controls would have ValidationGroup set to GroupTwo. To try this out, create a new web site called ValidationGroup and copy the web site with the CompareValidator.aspx page as a starting point. Make two changes. First, hand edit the ASP page to move the two rows for password entry after the row that holds the Submit Bug button. Then add an additional row, after the passwords, to hold a new button, with the ID of btnPW and the Text Login. Your form should look like Figure 9-25. That done, you can add the ValidationGroup to each of your validation controls and to the buttons. For all the controls above the Submit Bug button, set the ValidationGroup property to Bug. For all the controls below the Submit Bug button, set the ValidationGroup property to Login.
Figure 9-25. Validation Group design![]() Once again, build and run the application. Click the Submit Bug button. You should observe that only the controls in its group are validated, as shown in Figure 9-26. Figure 9-26. Validating only one group![]() Look carefully at Figure 9-26 the password fields are not filled in, though they have a RequiredFieldValidator. Because the Submit Bug button was pressed, and the validators for the password controls were not in the Bug group, they were not validated at all. Now click Login. This time, the password controls will be validated, but none of the other controls will be validated. |