验证问题

时间:2010-11-24 20:54:27

标签: .net asp.net validation forms

我有一个我无法弄清楚的验证问题。我“知道”我设置正确,但每次它都不能阻止我提交。基本上,我有一个表单,表单中唯一需要的是一个名为“tbEmail”的文本框。这是我的aspx页面中的代码:

<tr>
            <td>
                <asp:TextBox ID="tbEmail" runat="server" Height="40px" Width="688px" 
                    Font-Size="20px" input-type="email" CausesValidation="True" AutoCompleteType="Email"></asp:TextBox>
            </td>
            <td>
                <asp:RegularExpressionValidator ID="regexEmail" runat="server" ControlToValidate="tbEmail" SetFocusOnError="True" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="Email">
                </asp:RegularExpressionValidator>
                <asp:RequiredFieldValidator ID="rfvEmail" runat="server"  ValidationGroup="Email" ControlToValidate="tbEmail" ErrorMessage="*">
                </asp:RequiredFieldValidator>
        </td>
        </tr>

在我的代码后面,在图像按钮上点击事件处理程序我有这个:

protected void btnSubscribe_Click(object sender, ImageClickEventArgs e)
    {

        Page.Validate("Email");
        if (Page.IsValid)
        {
                //call the method 

                my method here...

                mvwForm.SetActiveView(vwSuccessEmail);


                ClearControls(Page);


        }
        else
            {
                lblValidation.Visible = true;
            }


    }

但每次,如果我将电子邮件字段留空,则继续加载vwSuccessEmail视图。我已经尝试将tbEmail控件设置为使用ValidationGroup =“Email”以及相同的结果。有人抓住我在这里失踪的东西吗?

1 个答案:

答案 0 :(得分:3)

我不知道你是否已经这样做了,但你也应该设置btnSubscribe以使用ValidationGroup="Email"