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

Struts 1 Java Discussion :

[Validator] required sur 2 champs et/ou


Sujet :

Struts 1 Java

  1. #1
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut [Validator] required sur 2 champs et/ou
    Bonjour,
    J'ai un formulaire ou l'utilisateur peut faire une recherche en entrant soit le numéro de programme soit une référence de produit ou les deux. Remplir au moins l'un des deux champs est obligatoire. Donc required dans le fichier xml de validation. Le problème c'est que si je rempli q'un des deux champs Validator me dis que l'autre est required ! Comment gérer ce cas ?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 89
    Par défaut
    je pense que tu devrais creer ton propre validator

    en resumé :
    tu crée un serializable avec la règle(codé en dure)
    tu le déclare dans validator-rules.xml
    et tu l'utilise dans validation.xml en required

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2002
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 225
    Par défaut
    Citation Envoyé par Tanebisse Voir le message
    Bonjour,
    J'ai un formulaire ou l'utilisateur peut faire une recherche en entrant soit le numéro de programme soit une référence de produit ou les deux. Remplir au moins l'un des deux champs est obligatoire. Donc required dans le fichier xml de validation. Le problème c'est que si je rempli q'un des deux champs Validator me dis que l'autre est required ! Comment gérer ce cas ?

    En clair : ce qu'il te faut c'est ne pas avoir les deux champs vides en mm temps ? est ce cela?

    Dans ta methode validate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    si les deux champs sont vides en meme temps :
     
    errors.add("recherche.criteres", new ActionMessage(
    					"critere.recherche.manquant"));
    			return errors;

  4. #4
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    En clair : ce qu'il te faut c'est ne pas avoir les deux champs vides en mm temps ? est ce cela?
    Oui c'est ça
    Par contre je ne vois pas très bien où tu veux en venir.

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tu devrais tester le validwhen du Validator.
    Par contre, il me semble que dans ce cas la validation fonctionnera seulement côté serveur.

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut
    avec un validWhen en gros ça donne un truc comme ça :
    Tu n'es pas obligé de le faire sur les deux champs, un seul suffit. Par contre il faut enlever la dépendance sur le required dans les deux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <field  property="champ1" depends="validwhen">
      <arg0 key="key.message.toto"/>
      <var>
       <var-name>test</var-name>
       <var-value>(*this* != null or autreChamp != null)</var-value>
      </var>
     </field>

  7. #7
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    OK merci

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

Discussions similaires

  1. [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
  2. Réponses: 4
    Dernier message: 14/11/2012, 16h43
  3. [XL-2010] Validation personnalise sur plusieurs champs
    Par alex_972 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/11/2012, 11h51
  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. Réponses: 5
    Dernier message: 29/08/2006, 17h30

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