43 votes

Une implémentation de la JSR-303 (validation des haricots) est-elle disponible ?

Je sais qu'il existe des cadres non standard tels que commons-validator et hibernate validator.

Je voulais savoir si quelqu'un connaissait une implémentation de la norme officielle.

2voto

Quant à l'été 2018, il y a trois spécifications qui se supplantent les unes les autres :

  • JSR 380 (Validation des haricots 2.0)
  • JSR 349 (Validation des haricots 1.1)
  • JSR 303 (Validation des haricots 1.0)

Vous pouvez consulter le site officiel pour plus de détails.

Hibernate Validator 6.10 est une implémentation de référence de la plus récente (380). Elle a une grande documentation Je vous recommande d'y jeter un coup d'œil (même si c'est assez volumineux).

Documentation sur la plate-forme CUBA pourrait vous donner une compréhension beaucoup plus courte du sujet si vous avez besoin d'une introduction rapide. Le framework CUBA est basé sur Spring et EclipseLink, donc les choses que vous avez apprises peuvent aussi être utilisées sur des projets Spring+Hibernate classiques :)

La JSR 349 est prise en charge par les anciennes versions de Hibernate Validator et par Apache BVal Les deux sont "officiels".

Depuis des ORM autres qu'Hibernate, EclipseLink supporte la JSR 349 et peut utiliser l'interface Validator fournie par HV.

Si c'est possible, je vous recommande de ne pas utiliser l'ancienne version (JSR 303) mais de passer aux spécifications 349 ou 380. Elles sont beaucoup plus matures et riches.

Bean Validation peut être utilisé dans le projet même s'il n'y a pas d'ORM dans celui-ci, par exemple vous pouvez l'utiliser dans vos applications Java 2SE ou Android (voir ceci article ), cependant, ce n'est pas l'approche pour laquelle Bean Validation a été conçu en premier lieu. Bien qu'il soit possible d'utiliser ces validateurs (HV et BVal) par eux-mêmes (il faudrait instancier et appeler Validator y ExecutableValidator manuellement), ils brilleront vraiment en travaillant avec des frameworks comme Hibernate, Spring ou CUBA

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X