Vérifier plusieurs textbox [Résolu]

Signaler
Messages postés
54
Date d'inscription
dimanche 22 septembre 2002
Statut
Membre
Dernière intervention
22 avril 2011
-
Messages postés
54
Date d'inscription
dimanche 22 septembre 2002
Statut
Membre
Dernière intervention
22 avril 2011
-
Bonjour,

Dans un formulaire, j'ai un tableau qui contient plusieurs lignes.

Chaque ligne est composée de 2 textbox et 2 radiobuttonlist.

Ce que je dois faire, c'est vérifier pour chaque ligne que si le 1er textbox est complété, que toutes les autres données sur la même ligne le soit également.

Je pensais utiliser un customvalidator.

Le problème, c'est que même si une ligne n'est pas valide (donc qu'il manque des infos), le submit du form a quand même lieu, le "Page.IsValid" est = à true et je ne comprends pas pourquoi.

Voici un petit bout de code plus explicite :

<script runat="server">
    void VerifData(CustomValidator validator, TextBox tbNom, TextBox tbAge, RadioButtonList rblBBQ, RadioButtonList rblGouter)
    {
        validator.IsValid = false;
        if (Convert.ToInt32(rblYesNo.SelectedValue) == 1)
        {
            if (string.IsNullOrEmpty(tbNom.Text) == false)
            {
                if (string.IsNullOrEmpty(tbAge.Text) false || rblBBQ.SelectedItem null || rblGouter.SelectedItem == null)
                {
                    validator.IsValid = false;
                }
                else
                {
                    validator.IsValid = true;
                }
            }
        }
    }        
    
    void verif0(object source, ServerValidateEventArgs args)
    {
        VerifData(valTxt0, txtNom0, txtAge0, rblBBQ0, rblGouter0);
    }
</script>


Et dans mon formulaire :


                


Merci d'avance pour votre aide,

Christophe

3 réponses

Messages postés
54
Date d'inscription
dimanche 22 septembre 2002
Statut
Membre
Dernière intervention
22 avril 2011

Voici la solution :

protected bool VerifData(CustomValidator validator, TextBox tbNom, TextBox tbAge, RadioButtonList rblBBQ, RadioButtonList rblGouter)
        {
            bool res = true;
            if (Convert.ToInt32(rblYesNo.SelectedValue) == 1)
            {
                if (string.IsNullOrEmpty(tbNom.Text) == false)
                {
                    if (string.IsNullOrEmpty(tbAge.Text) true || rblBBQ.SelectedItem null || rblGouter.SelectedItem == null)
                    {
                        res = false;
                    }
                    else
                    {
                        res = true;
                    }
                }
            }
            return res;
        }
        
        protected void verif0(object source, ServerValidateEventArgs args)
        {
            args.IsValid = VerifData(valTxt0, txtNom0, txtAge0, rblBBQ0, rblGouter0);
        }


Christophe
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
27
Salut,

Tu as une utilisation du controle ici

Et donnes le pourquoi quand tu as trouvé la réponse à ton problème.

Bon dev
Messages postés
54
Date d'inscription
dimanche 22 septembre 2002
Statut
Membre
Dernière intervention
22 avril 2011

Bonjour,

Merci, m'en vais aller lire tout ça.

Christophe