Vérifier plusieurs textbox

Résolu
crahier Messages postés 54 Date d'inscription dimanche 22 septembre 2002 Statut Membre Dernière intervention 22 avril 2011 - 25 juin 2010 à 21:50
crahier Messages postés 54 Date d'inscription dimanche 22 septembre 2002 Statut Membre Dernière intervention 22 avril 2011 - 28 juin 2010 à 15:05
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

crahier Messages postés 54 Date d'inscription dimanche 22 septembre 2002 Statut Membre Dernière intervention 22 avril 2011
28 juin 2010 à 15:05
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
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 36
27 juin 2010 à 08:07
Salut,

Tu as une utilisation du controle ici

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

Bon dev
0
crahier Messages postés 54 Date d'inscription dimanche 22 septembre 2002 Statut Membre Dernière intervention 22 avril 2011
27 juin 2010 à 15:25
Bonjour,

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

Christophe
0