begin process at 2012 05 28 08:10:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

UserControl

 > 

Validation d'un contrôle utilisateur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Validation d'un contrôle utilisateur

jeudi 20 novembre 2008 à 08:54:18 | Validation d'un contrôle utilisateur

SuperBouly

Membre Club

Bonjour,

Dans un formview d'inscription, j'ai un contrôle Utilisateur dont une propriété ("ResteAPayer") doit être à 0 pour que l'inscription soit validée.

Voici l'extrait du code du contrôle utilisateur :

 

<ValidationPropertyAttribute("ResteAPayer")> PartialClass MonControleUtilisateur

Inherits System.Web.UI.UserControl

 

Puis plus loin :

    Public Property ResteAPayer()

        Get

            _ResteAPayer = CalculerReste() 'sub qui renvoie un Double

            Return _ResteAPayer

        End Get

        Set(ByVal value)

            _ResteAPayer = value

        End Set

End Property

 

Je mets dans la page un CompareValidator avec la propriété controlToValidate MonControleUtilisateur.ID et les autres propriétés (dont le ValidationGroup du bouton d'inscription)...

 

Tout marche bien :

le valideur affiche bien le message d'erreur si la propriété ResteAPayer n'est pas nulle,

au débogage, Page.IsValid renvoie bien False, 
 mais ça ne bloque pas l'inscription, les instructions d'inscription s'exécutent quand même ...

 

J'ai du insérer le code

        ElseIf e.CommandName = "Updater"Then

            If Not Me.IsValid ThenExitSub

Je précise que tout ça est dans un UpdatePanel... hum hum pourtant, j'ai tout fait ce qu'il faut pour que les valideurs marchent avec ajax.
Comment faire pour que les valideurs bloquent ?

Merci de vos lumières

jeudi 20 novembre 2008 à 22:38:29 | Re : Validation d'un contrôle utilisateur

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonsoir,

le code que tu montres se trouve ou ? dans le page_load ? si oui, c'est normal ? si c'est dans le btn_click, de mémoire c'est normal si tu ne met pas de validationgroup à ton button.

Sinon je te conseille quand meme de toujours faire un page.validate puis un page.IsValid, ca ne coute pas grand chose et c'est plus prudent.


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
vendredi 21 novembre 2008 à 06:16:16 | Re : Validation d'un contrôle utilisateur

SuperBouly

Membre Club
bonjour,
merci de ta réponse.
le code cité plus haut est simplement en tête de la classe

<ValidationPropertyAttribute("ResteAPayer")> Partial Class MonControleUtilisateur
InheritsSystem.Web.UI.UserControl

puis dans les propriétés :
PublicPropertyResteAPayer() as Double 
 etc...

le bouton d'enregistrement n'est pas dans le ControlUtilisateur, mais dans le formView qui le contient   : un classique bouton avec CommandName "Insert" ou "Update".

En fait, je ne sais pas quand déclencher le page.validate car je le confirme, la commande s'exécute malgré un Page.IsValid=False
Je précise que j'ai ajusté le ValidationGroup, et malgré ça...

J'ai également retiré le Controle utilisateur de l'UpdatePanel, aucun changement.
Je me souviens vaguement avoir déjà rencontré et résolu ce problème mais je bute.
ce n'est cependant pas très grave, puisque ça marche avec

If

NotMe.IsValid ThenExitSubCependant, j'aurais aimé que le script-client fonctionne, question d'élégance... et de rapidité.
SuperBouly
vendredi 21 novembre 2008 à 09:19:56 | Re : Validation d'un contrôle utilisateur

jesusonline

Membre Club Administrateur CodeS-SourceS
le script client ne peux pas fonctionner puisqu'il s'agit d'une variable coté serveur ...

le page.Validate est à executer juste avant le page.isvalid.

page.Validate();
if (page.IsValid()){
    // do
}

Pour le validationGroup, normalement si ton button a un validationgroup et ton contrôle aussi alors ca devrait pas déclencher le button_click, mais je suis pas sur de moi.


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
vendredi 21 novembre 2008 à 09:28:58 | Re : Validation d'un contrôle utilisateur
vendredi 21 novembre 2008 à 09:37:09 | Re : Validation d'un contrôle utilisateur

SuperBouly

Membre Club

oui, bien vu pour la variable côté serveur
Pour le validationGroup, je ne vois pas comment attribuer un ValidationGroup à un UserControl.

Pour l'instant, j'ai mis une textBox (style position:absolute; top:-3000px;) qui prend la valeur de mon UserControl au moment du calcul serveur. Un CompareValidator surveille sa valeur, les deux sont du bon ValidationGroup et en dehors de l'UserControl De cette façon, je bénéficie de la validation-client sur la textbox, au moins au moment de l'inscription.
En attendant + satisfaisant...
SuperBouly


Cette discussion est classée dans : contrôle, utilisateur, propriété, inscription, resteapayer


Répondre à ce message

Sujets en rapport avec ce message

[ASP .NET C#] Contrôle utilisateur dans un autre contrôle utilisateur [ par linar009 ] Bonjour,J'ai un gros souci.J'ai créé un contrôle utilisateur dans lequel j'ai un autre contrôle.Le premier passe un string en paramètre au deuxième.Le [ASP 2.0] contrôle utilisateur et page_load [ par mcl75 ] Un peu novice sur ASP j'ai un souci dont je ne vois nulle part la solution :On a créé une page principale sur laquelle on a deux boutons pour choisirl activation d'une inscription en ligne en asp.net [ par gihouda ] salut,pourrais je savoir comment activer un compte ajouté par un utilisateur en asp.netpar exemple: quant un utilisateur fais une inscription en ligne Touche enter dans un contrôle utilisateur. [ par samirnat ] Bonjour,Voilà j'ai créé un contrôle utilisateur (Login.ascx) pour un login classique, contenant donc deux zones de texte 'Login' et 'Mot de passe'.J'a Cherche script efficace pour contrôle validattion formulaire [ par Dannyc ] Voici mon problème le formulaire d'inscription a des scrips de contrôle pour valider un formulaire et celui-ci n'est pas très pertinent, il oublie de Propriété name d'un contrôle utilisé dans un user control [ par smoitry ] Re bonjour à tous,Un autre problème me chagrine :Dans mon user control, appelons le "ctrl1", j'ai un textbox, appelons le "text1" (je parle des propri recharger toute la page lors de la confirmation d'un contrôle utlisateur.... [ par lutin2004 ] Comment fait-on pour recharger toute la page lors de confirmation d'un formulaire contenu par un contrôle utilisateur?Merci d'avance besoin d'aide pour un site asp [ par SilverIce ] Bonjour, Je suis en train de développé un site web en asp et j'ai un petit problème. Tout d'abords je fais la gestion des utilisateur par une Base de Comment rediriger l'utilisateur vers une autre page après un time out ? [ par billou_13 ] Voila, tel est la question ?J'ai fait un site dans lequel les utilisateurs ouvrent des sessions. Cependant, lorsque l'utilisateur clique sur déconnexi Empecher une procedure de s'executer plusieurs fois [ par blooh ] Bonjour, Voila j'ai un probleme qui me parait simple... mais je reste bloqué car je ne comprends pas bien ce qu'il se passe: J'ai un formulaire avec d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales