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

API standards et tierces Java Discussion :

(JSR 303) Bean validation @NotNull sur JavaSE


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut (JSR 303) Bean validation @NotNull sur JavaSE
    Bonjour,
    Je veux utiliser forme de validation avec des annotations :
    Pour un début j'ai juste utiliser un @NotNull mais cela me semble pas fonctionner, si je fait un appel de ma méthode avec "getNameColumn(null, null);"
    J'ai un simple "NullPointerException" les messagess ne s'affiche pas, c'est comme si je n'est pas utiliser un @NotNull.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        private
        @NotNull(message = "getNameColumn return Null.")
        static String getNameColumn(@NotNull(message = "Expense is null.") final Expense expense, @NotNull(message = "LoadingCache is null.") final LoadingCache<String, Category> cc) {
     
            return null;
        }
    Dit moi s'il a de quoi que j'ai pas bien fait? (@NotNull est une annotation par défaut donc je ne dois pas avoir d’implémentation a faire!!)


    L’implémentation que j'utilise (baser sur la spécification JSR 303: http://beanvalidation.org/1.0/spec/ )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>1.1.0.final</version>
            </dependency>

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonjour ,
    Essayez avec @NotBlank

  3. #3
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    C'est quoi le comportement attendu quand il y a une exception en relation avec l'annotation?

    Avec @NotBlank j'ai le meme resultat que si j'utilise @NotNull

  4. #4
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Dit moi si je fait une erreur il me semble que l’implémentation suivant :*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>1.1.0.final</version>
            </dependency>
    Doit faire la validation a ma place ? j ai pas besoin de faire de l’introspection sur mes classe java pour faire la validation ? (Exemple de @NotBlank)

    Merci!

  5. #5
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut
    Bonjour,

    cela ne fonctionnera pas comme çà. La validation n'est pas implicite.
    Dans ton pom, tu définis l'API, c'est très bien pour ne pas avoir de problème de compilation.
    Par contre lors de l'exécution de la validation, l'API ne suffira pas. Il te faut une implémentation. Exemple ici avec Hibernate Validator
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.2.4.Final</version>
    </dependency>

    Ensuite tu dois récupérer le Validator, et appeler la méthode validate() pour valider ton objet.

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
     
    Set<ConstraintViolation<TonObjet>> nullLicenseViolations = validator.validate(tonObjetInstancié);

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

Discussions similaires

  1. [MVC] Tutoriel sur la validation HTML 5 avec Spring MVC et Bean Validation
    Par regis1512 dans le forum Spring Web
    Réponses: 0
    Dernier message: 04/12/2014, 20h48
  2. [MVC] JSR 303 : validation d'une date de naissance sur 3 champs
    Par garthos dans le forum Spring Web
    Réponses: 1
    Dernier message: 29/05/2012, 17h43
  3. [Tomcat Bean IO] Ecriture sur Fichier et Saut de Ligne
    Par zaoueche dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 25/01/2006, 15h02
  4. Valider ("select") sur la meme page
    Par ste_2a dans le forum ASP
    Réponses: 2
    Dernier message: 20/08/2005, 19h42

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