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

Spring Web Java Discussion :

[Spring MVC],[<form:input] pas de binding !


Sujet :

Spring Web Java

  1. #1
    Invité
    Invité(e)
    Par défaut [Spring MVC],[<form:input] pas de binding !
    Bonjour,

    J'ai un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     <label style="display: inline">Rue</label> 
                        <form:input path="contact.address.street" size="50" maxlength="255"/>
                        <label style="display: inline">n°</label> 
                        <form:input path="contact.address.number" size="3" maxlength="4" />
    les beans :
    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
    28
    29
     
    // referencé par contact dans le formulaire
    public class Person implements Contactable {
     public Address getAddress() {
            return address;
        }
     
        public void setAddress(Address address) {
            this.address = address;
        }
    }
     
    public class Address {
    public void setStreet(String street) {
            this.street = street;
        }
     
        public String getStreet() {
            return street;
        }
     
        public void setNumber(String number) {
            this.number = number;
        }
     
        public String getNumber() {
            return number;
        }
    }
    Lorsque je valide mon formulaire le rue est bien remplie mais le numéro reste désespérément vide.. et en console je n'ai aucune erreurs.

  2. #2
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Points : 6 301
    Points
    6 301
    Par défaut
    Bizarre ..

    Essaie de changer le nom "number" en "boxNumber" pour voir..

    Ca m'est déjà arrivé qu'il y a des droles de comportements a cause de certains nom de variables mais bon..
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Non ça ne change rien. J'ai aussi le le cas pour 'postCode' (toujours dans le bean Address)

    Juste au cas ou, je tente d'appliquer un 'AddressValidator' qui est invoqué par un 'PersonValidator' qui est invoque par 'MonFormulaireValidator' mais bon, il dois tenter le binding avant la validation je suppose donc cela ne change rien.

  4. #4
    Invité
    Invité(e)
    Par défaut
    hooo, par contre j'ai modifié mon validateur :
    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
     
     public void validate(Object o, Errors errors) {
            rejectIfEmptyOrWhitespace(errors, "street", "street.required", "_street.required_");        
            rejectIfEmptyOrWhitespace(errors, "locality", "locality.required", "_locality.required_");
            rejectIfEmptyOrWhitespace(errors, "boxNumber", "boxNumber.required", "_boxNumber.required_");
            /*
            Address address = (Address) o;
            Pattern pattern = Pattern.compile("\\d+");
            if ( address.getBoxNumber()==null ) {
                errors.rejectValue("boxNumber", "boxNumber.required","_boxNumber.required_");
            } else if ( !pattern.matcher(address.getBoxNumber()).matches() ) {
                errors.rejectValue("boxNumber", "boxNumber.notannumber","_boxNumber.notannumber_");
            }
            if ( address.getPostcode()==null ) {
                errors.rejectValue("postcode", "postcode.required", "_postcode.required_");    
            } else if ( !pattern.matcher(address.getPostcode()).matches() ) {
                errors.rejectValue("postcode", "postcode.notannumber","_postcode.notannumber_");
            }*/
        }
    et maintanant ça passe. Je ne comprend pas tout la...

    et si je rajoute un System.out.println :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public void validate(Object o, Errors errors) {
            rejectIfEmptyOrWhitespace(errors, "street", "street.required", "_street.required_");        
            rejectIfEmptyOrWhitespace(errors, "locality", "locality.required", "_locality.required_");
            rejectIfEmptyOrWhitespace(errors, "boxNumber", "boxNumber.required", "_boxNumber.required_");
            System.out.println("---> " +  ((Address) o).getBoxNumber() );
    lorsque je valide mon formulaire aprés avoir mis 'aaa' dans le champ, la console me donne :
    ---> null
    donc, il semblerait que le bean ne soit pas remplis par les champs du formulaire, mais alors comment valider mes champs ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok, c'est bon.

    Le problème était dans mes invocations de validateurs. Au lieu de passer le bean représentant le contact, je passais un autre bean héritant lui aussi de 'Person' donc je récupérais l'adresse sur le mauvais bean..

    Désolé du dérangement.

    [ Tout ça c'est la faute au copier coller ]

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

Discussions similaires

  1. [Spring MVC] onSubmit n'est pas exécuté
    Par napol1fr dans le forum Spring Web
    Réponses: 1
    Dernier message: 30/05/2008, 12h03
  2. [Spring MVC] Binding <form: ou <spring:bind
    Par Invité dans le forum Spring Web
    Réponses: 2
    Dernier message: 14/12/2007, 14h56
  3. Réponses: 6
    Dernier message: 12/12/2007, 14h12
  4. [Spring MVC] onSubmit n'est pas éxecuté
    Par jamalmoundir dans le forum Spring Web
    Réponses: 1
    Dernier message: 27/06/2007, 15h19
  5. [Spring MVC][Validator] Ne stop pas si il y a une erreurs
    Par Hikage dans le forum Spring Web
    Réponses: 3
    Dernier message: 15/02/2006, 09h43

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