2010-12-01 2 views
0

Je développe un site mobile qui a plusieurs divs. J'ai un validateur mis en place pour chaque entrée différente, mais je veux valider uniquement les éléments dans la 1ère div sur "Continuer".Page.Validate() dans ASP.net WebForms pour s'exécuter dans une div?

Dans cet exemple, je souhaite valider le prénom uniquement dans FirstPage.

SecondPage est masqué jusqu'à l'événement 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> 

Répondre

1

Ce que vous cherchez est un Validation Group, qui vous permettra de bien ... :) validation groupe

Vous devez ajouter l'attribut validationgroup à votre RequiredFieldValidator et votre Button

<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" /> 
+0

Merci, je suis allé le lien et a été en mesure d'obtenir la réponse. – tpae

+0

Le bouton nécessite CausesValidation = "true" cependant. – tpae

+1

@tpae - CausesValidation par défaut 'true' pour le contrôle' Button'. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.causesvalidation.aspx – Josh

1

Utilisez la propriété ValidationGroup sur votre RequiredFieldValidator comme ceci:

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

Ensuite, votre bouton pourrait se référer à ce groupe:

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