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 :

Un bouton pas bloqué par un Validator


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Un bouton pas bloqué par un Validator
    Bonjour à tous.

    J'ai fabriqué un formulaire par CodeBehind intégralement. Dans ce formulaire j'ai bien sûr un bouton de validation et j'ai plusieurs Validator, des comparaison pour être précis.

    Lorsque je click qur le bouton, je vois les messages apparaitre et hop, la page se valide et pars l àoù je lui dit d'aller.

    Ceci vient certainement du fait qu'à la fin de la Sub qui gère le Clikc j'ai mis un Response.Redirect.

    Alors ma questoin est simple : comment on fait pour que le Response.Redirect (ou tout autre partie du code contenu dans la Sub du Click du bouton) ne fasse pas en cas de non conformité des éléments du formulaire ?

  2. #2
    Membre très actif Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    339
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 339
    Par défaut
    De mémoire, il faut tester le Page.IsValid (cf MSDN )

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide. ça marche bien.

    J'ai mis tout le code de la Sub du CLick du Bouton dans un IF Page.Isvalid.

    Alors, histoire de faire du pointilleux, est ce qu'il n'y pas pas un moyen de bloquer le repostage de la page. Là, si j'arrive sur mon formulaire je n'ai aucun message d'erreur de validation, normal. Si je click de suite, je vasi déclencher les messages d'erreur de validation mais la page va se recharger. aLors pour l'instant que je travaille sur ma machine, ça va, mais je pense à n visiteur qui aurait une connexion une peu faible, il va attendre pour se voir dire qu'il n'a pas bien fait son boulot ! ! !

    Donc est ce qu'il n'y a pas un moyen, un bout de code à metre dans le Else de mon IF pour que la page ne se recharge pas ?

    Et j'ai vu aussi dans le lien MSDN que ça parle de CasuesValidation, mais j'ai pas compris comment le mettre en place par CodeBehind. Tu pourrais m'éclairer ?

  4. #4
    Membre très actif Avatar de joKED
    Profil pro
    Imposteur en chef
    Inscrit en
    Février 2006
    Messages
    339
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Imposteur en chef

    Informations forums :
    Inscription : Février 2006
    Messages : 339
    Par défaut
    Pour le causesValidation : C'est une propriété que tu retrouves sur les contrôles qui peuvent provoquer un postback. Cette propriété, si positionnée sur vrai, déclenchera les validateurs lors du postback.
    Il peut être utile de la positionner sur false quand on ne veut pas quel tel ou tel contrôle déclenche la validation.

    Là, si j'arrive sur mon formulaire je n'ai aucun message d'erreur de validation, normal. Si je click de suite, je vais déclencher les messages d'erreur de validation mais la page va se recharger
    Euh, en principe non. La validation se passe coté client (cas d'un requiredfieldvalidator, ou d'un regularexpressionvalidator) dans le cas où javascript est activé sur le navigateur.
    L'utilité du Page.IsValid prend son ampleur si le javascript est désactivé. Au moins, tu peux valider coté serveur.

    A priori, si javascript est activé, tout se déroule coté client. Si tu as quand même du postback alors que javascript est activé, et qu'il te semble évident qu'un de tes contrôle ne satisfait pas aux vérif des validators, alors vérifie que pour chaque validator, la propriété EnableClientScript soit bien activée.

    Tiens, un petit lien qui explique pas mal tout ça : Page.IsValid & Validate

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.
    Le lien que tu me done, pas tout compris parce que en anglais, mais c'est pas grave.

    Dans la MSDN, aprés avoir bien relu et farfouillé, j'ai découvert qu'en fait, tant que la page n'est pas postée elle n'est pas testée par le PAge.IsValid.
    Donc même avec le EnableClientScript sur les Validator, ben ça poste quand même.

    Bon, je vais partir avec ça et j'espère que les visiteurs n'auront pas trop d'attente. Aprés tout ils ont qu'à apprendre à lire, les champs obligtaoires ou spéciaux sont indiqué avant le formulaire.

    Merci encore.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 05/09/2014, 11h45
  2. [Toutes versions] Bloqué par la propriété valide si
    Par damsmut dans le forum IHM
    Réponses: 4
    Dernier message: 17/11/2010, 20h34
  3. Affichage d'une fenêtre qui ne serais pas bloquée par les navigateurs
    Par jinkey dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 12/10/2010, 16h00
  4. Comment ne pas etre bloqué par les dépendances ?
    Par mucky dans le forum Mandriva / Mageia
    Réponses: 4
    Dernier message: 20/12/2009, 13h37
  5. charger nouvelle page par clic sur bouton (pas pop-up)
    Par michaelbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/09/2005, 16h04

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