IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

ValidationGroup et Web User Control


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Par défaut ValidationGroup et Web User Control
    Bonjour,

    J'ai besoin de votre aide pour le problème suivant :

    J'ai un Web User Control qui contient une texte box et un RequiredValidator.
    Sur ma page j'ai ce controle ainsi qu'un bouton qui doit déclancher la validation de la textBox du controle. Au clique du bouton, la validation de la textBox est bien déclanchée, le fonctionnemnet est normal.
    Maintenant, j'ai besoin de faire une gestion plus fine de la validation de la page, pour cela j'utilise des ValidationGroup.
    J'ai donc rajouté une propriété ValidationGroup sur mon WebUserControl, qui map directement sur la propriété ValidationGroup de la textBox qu'il contient. J'ai initialisé mon bouton et mon webUserControl dans le même validationGroup, mais au clique du bouton, la validation de la textBox n'est pas déclanchée il semblerait que la propriété validationGroup de la textBox ne soit pas visible par la page ou se trouve le bouton.

    Est ce que vous avez une idée pour résoudre ce problème? (dois-je mappé d'autre propriétés que le validationGroup? rajouter des attributs sur la propriété validationGroup de mon controle?, ou est-ce simplement pas possible?)

    ps : Voici la propriété ValidationGroup du webUserControle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    [System.ComponentModel.Browsable(true)]
    	[System.ComponentModel.Bindable(true)]
    	[System.ComponentModel.Category("Misc")]
    	[System.ComponentModel.Description("ValidationGroup")]
    	public string ValiationGroup
    	{
    		get { return txtBox.ValidationGroup; }
    		set { txtBox.ValidationGroup = value; }
     
    	}

  2. #2
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Salut, j'ai du mal à comprendre pourquoi tu veux avoir le control depuis l' UC ?

    quel est l'objectif ?

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    A mon avis, lors du PostBack, tu ne re set pas la propriété validation group de ton UC

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Par défaut
    jacky01> En fait mon UC est un peu plus complexe que ça, l'intérêt étant d'avoir une UC qui en fonction d'une propriété "mode" affiche soit une textBox soit un label, et qui propose aussi des propriétés pour rajouter des watermark, RequiredValidator et RegExpValidator sur la text box.

    lutecefalco> J'ai vérifié ce n'est pas ça, la textBox de mon UC a bien une valeur correcte pour le validationGroup lors du PostBack.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Par défaut
    Pour illustrer, voici une version simplifié du composant ou il y a juste la textBox et son validator, le validationGroup a été forcé dans le composant.
    J'ai même problème, lors du clic sur le bouton, le validator de la textBox n'est pas appellé quand je met des validationGroup. Si je retire les validationGroup du bouton et de la textBox, le validator est appellé.


    //UC - ASP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="VETest.ascx.cs" Inherits="Controls_ViewEditComponents_VETest" %>
     
    <asp:TextBox ID="TextBox1" runat="server" ValidationGroup="testGroup"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"
        ControlToValidate="TextBox1" Enabled="True"></asp:RequiredFieldValidator>
    //UC - C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
     
    public partial class Controls_ViewEditComponents_VETest : System.Web.UI.UserControl
    {
     
    	[System.ComponentModel.Browsable(true)]
    	[System.ComponentModel.Bindable(true)]
    	[System.ComponentModel.Category("Behaviour")]
    	[System.ComponentModel.Description("ValidationGroup")]
    	public string ValiationGroup
    	{
    		get { return TextBox1.ValidationGroup;}
    		set { TextBox1.ValidationGroup = value; }
     
    	}
     
    	protected void Page_Load(object sender, EventArgs e)
    	{
    		string v = ValiationGroup;
    	}
    }
    //Page contenant le bouton et l'uc - ASP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     <uc10:VETest ID="VETest1" runat="server" />
     <asp:Button runat="server" ID="validButton" Text="valid" ValidationGroup="testGroup" />

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Le validation group doit se mettre sur le validator et non la textbox

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Par défaut
    Rah c'était aussi débile que ça! Je m'en veux de pas l'avoir vu avant.

    Merci pour le coup de main en tout cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passage de paramètres entre web user control
    Par mi1StagiR dans le forum ASP.NET
    Réponses: 5
    Dernier message: 20/05/2008, 12h17
  2. RequiredFieldValidator in web user control
    Par wayak3 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/10/2007, 13h10
  3. Chargement web user control
    Par xeon666 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 11/04/2007, 08h59
  4. [1.1]Probleme évenement avec Web User Control
    Par djoao dans le forum ASP.NET
    Réponses: 1
    Dernier message: 30/01/2007, 15h35
  5. [C#] DateTimePicker web user control
    Par titi29 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 29/06/2004, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo