单击按钮时使用ValidationGroup进行验证

时间:2014-03-21 15:46:19

标签: c# asp.net validation code-behind

我正在尝试为我的按钮编写代码来检查" infoGroup"中的验证控件。在我的向导中单击下一个按钮时。

当我单击下一个按钮时,它将转到向导中的下一步,跳过验证控件。如果必填字段为空或者它们具有无效值但它确实存在,则不应继续前进。在将它们添加到validationGroup之前我有这个工作,但我需要使用validationGroup,因为我需要进行客户端验证和服务器端验证(单击按钮时)。下面是我的验证代码和我点击下一个按钮时的代码:

<tr>
    <td><asp:Label ID="LabelName" runat="server" Text="Name:"  CssClass="LabelText"></asp:Label></td>
    <td><asp:TextBox ID="TextBoxName" runat="server"  CssClass="TextBox" TextMode="SingleLine"></asp:TextBox></td>
    <td>
        <asp:RequiredFieldValidator ID="nameRequiredFieldValidator" runat="server" ErrorMessage="Please enter your name."
        CssClass="errorMessage"
        ControlToValidate="TextBoxName"
        Text="*"
        SetFocusOnError="true"
        Display="Dynamic"
        ValidationGroup="infoGroup"></asp:RequiredFieldValidator>
      <asp:RegularExpressionValidator ID="nameRegularExpressionValidator" runat="server" ErrorMessage="Please enter a valid name."
        ControlToValidate="TextBoxName"
        ValidationExpression="[a-zA-Z\.\'\-_\s]{1,40}"
        Text="*"
        CssClass="errorMessage"
        SetFocusOnError="true"
        Display="Dynamic"
        ValidationGroup="infoGroup"></asp:RegularExpressionValidator>
    </td>
</tr>
<tr>
    <td><asp:Label ID="LabelEmail" runat="server" Text="E-mail:"  CssClass="LabelText"></asp:Label></td>
    <td><asp:TextBox ID="TextBoxEmail" runat="server"  CssClass="TextBox"></asp:TextBox></td>
    <td>
        <asp:RequiredFieldValidator ID="emailRequiredFieldValidator"  runat="server" ErrorMessage="Please enter your email address."
                      CssClass="errorMessage"
                      ControlToValidate="TextBoxEmail"
                      Text="*"
                      SetFocusOnError="true"
                      Display="Dynamic"
                      ValidationGroup="infoGroup"></asp:RequiredFieldValidator>
        <asp:RegularExpressionValidator ID="emailRegularExpressionValidator" runat="server" ErrorMessage="Please enter a valid email address."
                      ControlToValidate="TextBoxEmail"
                      ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
                      Text="*"
                      CssClass="errorMessage"
                      SetFocusOnError="true"
                      Display="Dynamic"
                      ValidationGroup="infoGroup"></asp:RegularExpressionValidator>
    </td>
</tr>

protected bool Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
{ 
    Page.Validate("infoGroup");
    if (Page.IsValid)
    {
        return true;
    }
    else
    {
        return false;
    }
}

0 个答案:

没有答案