RequiredFieldValidator dans un repeater [Résolu]

Signaler
Messages postés
40
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
3 juillet 2009
-
ggtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
-
Bonjour,

J'utilise actuelement un repeater, dans ce repeater se trouve un bouton et un textbox. Pour eviter que l'utilisateur puisse appuyer sur le bouton si le textbox est vide j'utilise un RequiredFieldValidator.

Le probleme est que comme je suis dans un repeater, le RequiredFieldValidator s'applique à tous les textbox, au lieu de s'appliquer seulement à celui qui le concerne.

Voici un extrait de code simplifié:
<

asp:Repeater
ID="Repeater1"
runat="server">
   
   
   

Bien sur le repeater à pour source un dataset, avec plein d'element dedans mais qui n'ont aucun interet dans mon probleme.

Si qq un peut m'aider.

Merci.

3 réponses

Messages postés
40
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
3 juillet 2009

C'est ce que je vais faire, apperement ce n'est pas possible.

Merci.
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonsoir,

Je ne suis pas sûr que tu puisses le faire : le controltovalidate ne peut pas être défini.
Si ce n'est qu'un requiredfield, il vaut mieux peut-être faire directement une vérification javascript, ce qui me semble plus simple en l'occurrence.

GGtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonjour,

En fait, c'est surtout si tu n'as qu'un seul requiredfieldvalidator, en dehors de ton repeater, que ça paraît difficile.
Mais si (ce à quoi je n'avais pas fait attention) tu mets le requiredfieldvalidator dans le repeater, ça doit pouvoir se faire en indiquant un validationgroup commun à la textbox, au button et au requiredfieldvalidator, validationgroup dont tu changes le nom à chaque création d'item.
Par exemple, en vb, en attribuant comme nom au validationgroup le clientid de la textbox :

Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs)
        Dim tb1 As TextBox = CType(e.Item.FindControl("TextBox1"), TextBox)
        Dim b1 As Button = CType(e.Item.FindControl("Button1"), Button)
        Dim rfv1 As RequiredFieldValidator = CType(e.Item.FindControl("RequiredFieldValidator1"), RequiredFieldValidator)
        Dim vg As String = tb1.ClientID
        tb1.ValidationGroup = vg
        b1.ValidationGroup = vg
        rfv1.ValidationGroup = vg
    End Sub

GGtry