Validating ASP.NET CheckBox Controls

Validation controls in ASP.NET make it very easy to check data in forms if any information has been filled or if it meets certain criteria. It saves a great deal of time in hand coding JavaScript validation. Unfortunately, validation controls don’t work with the CheckBox or CheckBoxList controls. Your form may need to determine if a checkbox has been checked, or if a choice was made among a group of related checkboxes.

I found many solutions from searching on the Internet, but most of them didn’t work very well, if at all, and very few were designed for use with an asp:CheckBox. Many of the solutions used JavaScript or the JQuery framework. If I was using standard HTML controls (i.e. PHP development) I would use JavaScript to validate the controls.

After much trial and mostly error, I decided to find my own solution for validating if at least one checkbox was selected in a group of controls. I used C# code to determine if any one control was checked, followed by code to redirect the page to an anchor (i.e. <a name=”checkbox_controls”>Required</a>) on the current form. This code is placed in the form submission method (i.e. submitButton_Click) and placed before page validation (Page.IsValid), as in the following example

bool bIsValidChecked = CheckBox_Pickup_Option1.Checked || CheckBox_Pickup_Option2.Checked;

if (!bIsValidChecked )
Response.Write (“<script type=\”text/ecmascript\”>window.location.href = ‘#checkbox_controls’;</script>”);

// Set order time and session variables from the order form.

if (Page.IsValid & bIsValidChecked )
{

// form processing code

}

This isn’t the best solution, but its one that works quickly. I need to develop a custom control for validating checkboxes.