web-dev-qa-db-fra.com

Existe-t-il une implémentation de JSR-303 (validation des haricots) disponible?

Je sais qu'il existe des cadres non standard tels que le validateur de la communication et le validateur hibernate.

Je voulais savoir si quelqu'un connaît une mise en œuvre de la norme officielle.

41
flybywire

Le validateur Hibernate est la Mise en œuvre de référence de JSR-303

34
skaffman

Il y a 2 implémentations conformes maintenant:

Vous pouvez accéder à une référence et une description rapide des deux ici: http://carinae.net/2010/06/benchmarking-hibernate-validator-and-apache-banvalidation-the-two-jsr-303-Implementations /

57
bashflyng
14
Martin K.

ovale n'est pas un validateur JSR-303, mais il peut convertir les contraintes JSR303 en soi.

3
schnitz

Le cadre de printemps est devenu JSR303 conformément à la version 3, je pense.

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#validation-Beanvalidation

Spring Framework 4.0 prend en charge la validation des haricots 1.0 (JSR-303) et la validation du haricot 1.1 (JSR-349) en termes de prise en charge de la configuration, l'adaptant également à l'interface de validateur du ressort.

3
VHS

Quant à l'été 2018, il existe trois spécifications qui se sont remplacées:

  • JSR 380 (validation des haricots 2.0)
  • JSR 349 ​​(validation du haricot 1.1)
  • JSR 303 (validation du haricot 1.0)

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

Validator Hibernate 6.1 est une mise en œuvre de référence du nouveau (380). Il a une excellente documentation Je recommanderais de jeter un coup d'œil à (mais c'est assez grosse).

Cuba Platform Docs Pourrait vous donner une portée beaucoup plus courte du sujet si vous avez besoin d'une introduction rapide. Cuba Cadre est basé sur le printemps et les eclipselink. Les choses que vous avez apprises pourraient également être utilisées sur des projets réguliers de printemps + hibernate également :)

Le JSR 349 ​​est soutenu par les anciennes versions de Validator Hibernate et par Apache Bval , les deux sont "officiels".

Des ormes autres que hibernate, eclipselink prend en charge JSR 349 ​​et peut utiliser une interface de validateur fournie par HV.

Si cela est possible, je recommanderais de ne pas utiliser la version plus ancienne (JSR 303), mais passez à 349 ou 380 spécifications. Ils sont assez mûrs et riches.

La validation des haricots pourrait être utilisée dans le projet, même s'il n'y a pas d'or, par exemple, vous pouvez l'utiliser votre Java 2se ou Android Apps (voir ceci - article ), cependant, ce n'est pas la validation des haricots d'approche a été conçue comme une chose principale. Bien qu'il soit possible d'utiliser ces validateurs (HV et BVAL), juste par lui-même (vous devez instancier et appeler Validator et ExecutableValidator manuellement), ils brilleront vraiment de travailler ensemble avec des frameds comme hibernate, printemps ou [~ # ~ # ~ ~]

1
Mikhail Dyakonov