ASP.WebForms中的Page.Validate()在div中运行?

时间:2010-12-01 17:53:42

标签: asp.net webforms

我正在开发一个有多个div的移动网站。我为每个不同的输入设置了验证器,但是我想在点击“继续”时仅验证第一个div中的元素。

在示例中,我想仅在FirstPage中验证名字。

第二页被隐藏,直到continue_click事件。

<div id="FirstPage" runat="server">

<h3>*First Name:</h3>
    <asp:TextBox ID="FirstName" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="FirstNameRequiredValidator" runat="server"
    ControlToValidate="FirstName" ErrorMessage="Please enter your first name."
    ForeColor="Red"></asp:RequiredFieldValidator>

    <asp:Button ID="Continue" runat="server" Text="Next" 
        onclick="Continue_Click" />
</div>

<div id="SecondPage" runat="server">

    <h3>*Last Name:</h3>
    <asp:TextBox ID="LastName" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="LastNameRequiredValidator" runat="server"
    ControlToValidate="LastName" ErrorMessage="Please enter your last name."
    ForeColor="Red"></asp:RequiredFieldValidator>

</div>

2 个答案:

答案 0 :(得分:1)

您正在寻找的是Validation Group,这样您就可以......组验证:)

您需要将validationgroup属性添加到RequiredFieldValidatorButton

<asp:RequiredFieldValidator ID="FirstNameRequiredValidator" runat="server"
    ControlToValidate="FirstName" ErrorMessage="Please enter your first name."
    ForeColor="Red"
    ValidationGroup="FirstPage"></asp:RequiredFieldValidator>

<asp:Button ID="Continue" runat="server" Text="Next" 
        onclick="Continue_Click"
        ValidationGroup="FirstPage" />

答案 1 :(得分:1)

在RequiredFieldValidator上使用ValidationGroup属性,如下所示:

<asp:RequiredFieldValidator ID="FirstNameRequiredValidator" runat="server"
    ControlToValidate="FirstName" ErrorMessage="Please enter your first name."
    ForeColor="Red" ValidationGroup="first"></asp:RequiredFieldValidator>

然后你的按钮将引用该组:

<asp:Button ID="Continue" runat="server" Text="Next" ValidationGroup="first" onclick="Continue_Click" />