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 :

CustomValidator : Validation de deux champs


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut CustomValidator : Validation de deux champs
    Bonjour,

    Je suis débutant en ASP.Net
    J'ai le problème suivant. J'ai 2 champs dans un formulaire et j'aimerais, en code behind, que la longueur de saisie des 2 champs ensemble soient inférieurs à 20 caractères par exemple.

    De ce que j'ai compris, on utilise un custom validator comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <asp:CustomValidator
    ID="CustomValidator1" runat="server" 
    ControlToValidate="txtCodePostal"
    ErrorMessage=" Code postal"OnServerValidate="CustomValidator1_ServerValidate">
    Code postal invalide
    </asp:CustomValidator>
    et en code behind :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            if (args.Value.Length > 5)
            {
                // les messages erreurs de CustomValidator1 seront affichés
                args.IsValid = false;
            }
            else
            {
                args.IsValid = true;
            }
        }
    C'est un exemple qu'on retrouve souvent.
    Le problème est que le customvalidator est rattaché à 1 seul champ (du moins dans l'exemple), est-il possible de le faire sur 2 champs ?
    Bien sûr, je pense que, si tout se faisait en Javascript, ce serait possible mais bon ...

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    donc c'est la somme des deux ne peut pas être plus grande que 20 ?
    Bo tu peux faire un petit WebUserControl peut etre, avec deux textbox et ensuite tu assignes le customValidator à ce nouveau webcontrol.
    Tu auras créer une propriété qui retourne la somme de la taille des 2 textbox.

    Fix

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    Oui c'est bien la somme des 2 qui ne doit pas dépasser 20

    Merci ! Faut que je teste ca Faut deja que je sache ce qu'est un WebUserControl

    J'ai vu qu'il y avait les validationgroup aussi de disponible, je me demande si je peux pas mêler validationgroup et customvalidation le problème

  4. #4
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    mm je trouve pas comment faire ...

    pour mon webcontrol j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
     
    Login : <asp:TextBox ID="txtCodePostal" runat="server"  ></asp:TextBox>
    <br />
    Pwd : <asp:TextBox ID="Pwd" runat="server"></asp:TextBox>
    En code behind, j'aurai bien vu qq chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public partial class WebUserControl : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
     
        }
        private add()
        {
            int length = 0;
      //      length = txtCodePostal.value.length;
        }
    }
    Un équivalent... Le problème c'est que je ne retrouve la nombre de caractères rentré dans txtCodePostal.

    J'ai un peu de mal désolé ...

  5. #5
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    j'ai rien dit c'était text.length. je continue à essayer

  6. #6
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    bon bah non tjs pas :'(

    Quelqu'un aurait un bon tuto sur les web user control?

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

Discussions similaires

  1. Validation : contrôler deux champs à la fois.
    Par Feneck91 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 27/09/2013, 13h09
  2. [ZF 1.10] Zend validate identical sur deux champs password
    Par kcin dans le forum Zend_Form
    Réponses: 6
    Dernier message: 30/11/2012, 21h22
  3. [MySQL] calcul de deux champs avant validation du formulaire
    Par laure07 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2011, 12h15
  4. Zend_Form Validation sur deux champs simultanément
    Par sir_gcc dans le forum Zend_Form
    Réponses: 4
    Dernier message: 06/04/2008, 15h20
  5. Valider deux champ de formulaire sans aller côté serveur
    Par tiboudchou dans le forum Struts 2
    Réponses: 1
    Dernier message: 16/10/2007, 18h02

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