2017-03-14 3 views
0

J'ai une liste déroulante asp et j'essaie de la valider mais la validation ne fonctionne tout simplement pas.Valider la liste déroulante en utilisant le validateur de champs requis ne fonctionne pas

Mon menu déroulant et validateur:

<asp:DropDownList CssClass="form-control" 
    runat="server" ID="cmb_Addresses" 
    ValidationGroup="ShippingAddress"> 
</asp:DropDownList> 
<asp:RequiredFieldValidator ControlToValidate="cmb_Addresses" 
    ValidationGroup="ShippingAddress" 
    InitialValue="0" 
    Display="dynamic" 
    ErrorMessage='Please select an address' 
    runat="server"/> 

Et voici la méthode qui renseigne le menu déroulant:

private void SetupAddresses() 
{ 
    var accountService = new AccountService(); 
    var userService = new UserService(); 

    var username = userService.GetLoggedInUser(); 

    var addresses = accountService.GetAddressesForUser(username); 

    cmb_Addresses.Items.Clear(); 
    cmb_Addresses.Items.Add(new System.Web.UI.WebControls.ListItem("--Please Select--", "0")); 

    foreach (var address in addresses) 
    { 
     cmb_Addresses.Items.Add(new System.Web.UI.WebControls.ListItem(address.Name, GetAddressValue(address))); 
    } 
} 

J'ai essayé toutes les suggestions que j'ai trouvé sur le net, mais ils ne travaillent pas.

Oh, la méthode est appelée dans un! IsPostBack

Répondre

0

Avez-vous ajouté le ValidationGroup correct du bouton qui fait la publication automatique? Parce que j'ai testé votre extrait et ça fonctionne.

<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="ShippingAddress" /> 

Si vous avez l'ajouter au bouton, il y a probablement une erreur javascript quelque part sur la page qui interfère avec le validateur. S'il y a des erreurs, le validateur ne fonctionnera pas et le formulaire est posté.