I have a webform that not only has required field validators but as well as a reqular expression validator. I also have a link button on the form to submit the data and redirect to the next page. Problem is when I run my web form and click the button, nothing happens. It just redirects to the next page without doing either of the validations. I have noticed as well when I take the "ValidationGroup='whatever'" out of the control, it works fine.
I have to validation summaries on the top of the page (one for each group) and the same thing goes with that; once I remove the validation group property, they work.
Here is my code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Styling/Application.Master" AutoEventWireup="true" CodeBehind="app-step1.aspx.cs" Inherits="OnlineEmploymentApplication.Application.app_step1" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"><style type="text/css">
#personal td
{
vertical-align: middle;
}
#personal input[type=text]
{
width: 180px;
}
.rowspace
{
height: 10px;
}
</style></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"><div class="grid_12" style="text-align: center;"><div class="grid_2 prefix_2 alpha">
1. Personal Information<hr /></div><div class="grid_2"><span class="prog_current">2. Qualifications</span></div><div class="grid_2"><span class="prog_current">3. Employment</span></div><div class="grid_2 suffix_2 omega"><span class="prog_current">4. Schooling</span></div></div><div class="grid_8 push_2 suffix_2"><asp:ValidationSummary ID="ValidationSummary1" runat="server" ForeColor="Red"
HeaderText="Please make sure all required fields are filled." ValidationGroup="group1" /><asp:ValidationSummary ID="ValidationSummary2" runat="server" ForeColor="Red"
HeaderText="test" ValidationGroup="group2" /></div><div class="grid_8 push_2 suffix_2"><h5>Personal Information</h5><table id="personal"><tr><td>Your Name: </td><td><asp:TextBox runat="server" ID="txtName" /><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="" ForeColor="Red" ControlToValidate="txtName" ValidationGroup="group1">*</asp:RequiredFieldValidator></td></tr><tr class="rowspace"><td> </td></tr><tr><td>Street Address: </td><td><asp:TextBox runat="server" ID="txtAddress" /><asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ErrorMessage="" ForeColor="Red" ControlToValidate="txtAddress" ValidationGroup="group1">*</asp:RequiredFieldValidator></td></tr><tr class="rowspace"><td> </td></tr><tr><td>City: </td><td><asp:TextBox runat="server" ID="txtCity" /><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ErrorMessage="" ForeColor="Red" ControlToValidate="txtCity" ValidationGroup="group1">*</asp:RequiredFieldValidator></td></tr><tr class="rowspace"><td> </td></tr><tr><td>State: </td><td><asp:TextBox runat="server" ID="txtState" MaxLength="2" style="width: 30px;" /><asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ErrorMessage="" ForeColor="Red" ControlToValidate="txtState" ValidationGroup="group1">*</asp:RequiredFieldValidator></td></tr><tr class="rowspace"><td> </td></tr><tr><td>Zip Code: </td><td><asp:TextBox runat="server" ID="txtZip" /><asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ErrorMessage="" ForeColor="Red" ControlToValidate="txtZip" ValidationGroup="group1">*</asp:RequiredFieldValidator><asp:RegularExpressionValidator
ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtZip" Display="Dynamic"
ErrorMessage="Please use proper zipcode format." ForeColor="Red"
ValidationExpression="\d{5}(-\d{4})?"></asp:RegularExpressionValidator></td></tr><tr class="rowspace"><td> </td></tr><tr><td>Contact Number: </td><td><asp:TextBox runat="server" ID="txtNumber" /><asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server"
ErrorMessage="" ForeColor="Red" ControlToValidate="txtNumber" ValidationGroup="group1">*</asp:RequiredFieldValidator></td></tr><tr class="rowspace"><td> </td></tr><tr><td>Email: </td><td><asp:TextBox runat="server" ID="txtEmail" /><asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server"
ErrorMessage="" ForeColor="Red" ControlToValidate="txtEmail" ValidationGroup="group1">*</asp:RequiredFieldValidator></td></tr><tr class="rowspace"><td> </td></tr></table><div class="grid_1 push_7 alpha omega" style="text-align:right;"><asp:LinkButton runat="server" ID="lbNext" Text="Next ->" OnClick="lbNext_Click" CausesValidation="true" /></div></div></asp:Content>Here's the code behind. Nothing much yet:
protected void lbNext_Click(object sender, EventArgs e)
{
Response.Redirect("app-step2.aspx");
}
I know I've done this on other forms, but for the life of me I can't figure out what I'm doing different this time.