Jakarta Bean Validation (formerly Java Bean Validation / JSR 380) is a Java specification providing a standardized constraint model and API for validating Java beans using annotations. It defines built-in constraints (@NotNull, @Size, @Min, @Max, @Pattern, @Email, etc.), a Validator API, constraint inheritance, and method/constructor parameter validation. The current stable release is Jakarta Validation 3.1. Hibernate Validator is the reference implementation. The specification is governed by the Jakarta EE Working Group under the Eclipse Foundation.
Bean Validation publishes 3 APIs on the APIs.io network. Tagged areas include Bean Validation, Data Quality, Java, Validation, and Jakarta EE.
Bean Validation’s developer surface includes engineering blog, documentation, and 9 more developer resources.
Open Source Surface applies to this provider. This product is open source and we
read its repository directly, so Open Source Surface carries
10 points of the composite. It is scored from what the repository actually
publishes — a security policy, a contribution guide, a release history, a code of conduct — read live from the
provider rather than inferred from our own catalog pointers.
This facet adds; nothing was taken away to make room for it. An open-source project is not excused from
the commercial facets, because exemption would strip it of the points it does earn.
If we have the wrong repository, or this product is not open source, say so on your
provider repo and we
will drop the facet rather than have you publish against it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for
this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero:
never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and
several others — scorable at all.
The six quality facets above are damped to 90 points between them,
because the conditional facet above carries the other
10. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 90% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Hibernate Validator is the reference implementation of Jakarta Bean Validation. Version 9.1.0.Final implements the Jakarta Validation 3.1 specification. It provides the Validato...
The Jakarta Validation API JAR provides the interfaces, annotations, and exception types that constitute the Bean Validation specification contract. Constraint annotations (@Not...
aid: bean-validation
name: Bean Validation
description: Jakarta Bean Validation (formerly Java Bean Validation / JSR 380) is a Java specification providing a standardized
constraint model and API for validating Java beans using annotations. It defines built-in constraints (@NotNull, @Size,
@Min, @Max, @Pattern, @Email, etc.), a Validator API, constraint inheritance, and method/constructor parameter validation.
The current stable release is Jakarta Validation 3.1. Hibernate Validator is the reference implementation. The specification
is governed by the Jakarta EE Working Group under the Eclipse Foundation.
type: Index
deliveryModel:
model: self-hosted
license: Apache-2.0
open_source: true
commercial: false
callable_host: false
label: Self-hosted open source · you run it yourself
confidence: high
source:
- license
generated: '2026-08-28'
method: derived
accessModel:
pricing: freemium
onboarding: unknown
trial: false
try_now: false
public: false
label: Freemium
confidence: medium
source:
- plans
generated: '2026-07-22'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/bean-validation.png
tags:
- Bean Validation
- Data Quality
- Java
- Validation
- Jakarta EE
- Constraints
url: https://raw.githubusercontent.com/api-evangelist/bean-validation/refs/heads/main/apis.yml
created: '2025-01-01'
modified: '2026-04-19'
specificationVersion: '0.23'
apis:
- aid: bean-validation:specification
name: Jakarta Bean Validation Specification 3.1
description: The Jakarta Bean Validation 3.1 specification defines the constraint model, annotation processor, Validator
API, method validation, group sequences, cascaded validation, constraint composition, and the metadata API for introspecting
validation constraints on Java classes, fields, methods, and constructors.
humanURL: https://beanvalidation.org/3.1/
tags:
- Bean Validation
- Java
- Jakarta EE
- Specification
properties:
- type: Documentation
url: https://beanvalidation.org/3.1/
- type: Specification
url: https://jakarta.ee/specifications/bean-validation/3.1/
- type: GitHubRepository
url: https://github.com/jakartaee/validation
- aid: bean-validation:hibernate-validator
name: Hibernate Validator
description: Hibernate Validator is the reference implementation of Jakarta Bean Validation. Version 9.1.0.Final implements
the Jakarta Validation 3.1 specification. It provides the Validator, ValidatorFactory, ConstraintViolation APIs, additional
built-in constraints beyond the spec, programmatic constraint definition, and message interpolation. Available via Maven
Central and published under Apache 2.0.
humanURL: https://hibernate.org/validator/
tags:
- Bean Validation
- Java
- Reference Implementation
- Hibernate
properties:
- type: Documentation
url: https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/
- type: GettingStarted
url: https://hibernate.org/validator/documentation/getting-started/
- type: GitHubRepository
url: https://github.com/hibernate/hibernate-validator
- type: SDKs
url: https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator
title: Maven Central
- aid: bean-validation:jakarta-validation-api
name: Jakarta Validation API
description: The Jakarta Validation API JAR provides the interfaces, annotations, and exception types that constitute the
Bean Validation specification contract. Constraint annotations (@NotNull, @Size, @Min, @Max, @Pattern, @Email, @Future,
@Past, @Positive, @Negative, etc.), Validator, ValidatorFactory, ConstraintViolation, and Path types are all defined in
the API. Available on Maven Central.
humanURL: https://jakarta.ee/specifications/bean-validation/3.1/
tags:
- Bean Validation
- Java
- Jakarta EE
tags_raw:
- Bean Validation
- Java
- API
- Jakarta EE
properties:
- type: Specification
url: https://jakarta.ee/specifications/bean-validation/3.1/
- type: SDKs
url: https://mvnrepository.com/artifact/jakarta.validation/jakarta.validation-api
title: Maven Central
common:
- type: IssueTracker
url: https://github.com/jakartaee/validation/issues
- type: Releases
url: https://github.com/jakartaee/validation/releases
- type: CodeOfConduct
url: https://github.com/jakartaee/.github/blob/master/CODE_OF_CONDUCT.md
- type: ContributionGuide
url: https://github.com/jakartaee/validation/blob/main/CONTRIBUTING.md
- type: License
name: Apache-2.0
url: https://github.com/jakartaee/validation/blob/main/LICENSE
- type: DomainSecurity
url: security/bean-validation-domain-security.yml
- type: Website
url: https://beanvalidation.org/
- url: https://beanvalidation.org/news/news.atom
type: Blog
- type: Documentation
url: https://beanvalidation.org/2.0/spec/
- type: GitHubOrganization
url: https://github.com/jakartaee
- type: Versioning
url: https://beanvalidation.org/news/
- type: Features
data:
- name: Annotation-Based Constraints
description: Define validation constraints on Java beans using annotations such as @NotNull, @Size, @Min, @Max, @Pattern,
@Email, and @Past.
- name: Method Validation
description: Validate method and constructor parameters and return values using constraint annotations on method signatures.
- name: Constraint Composition
description: Compose multiple constraints together using @Constraint and meta-annotations to create custom reusable constraint
annotations.
- name: Group Sequences
description: Define validation groups and group sequences for ordered, conditional validation scenarios.
- name: Cascaded Validation
description: Trigger validation of nested objects using @Valid annotation for graph-level constraint validation.
- name: Programmatic API
description: Build and configure validators programmatically using the Validator and ValidatorFactory APIs without annotations.
- type: UseCases
data:
- name: REST API Input Validation
description: Validate request body and query parameters in JAX-RS and Spring REST controllers using Bean Validation annotations.
- name: Form Validation
description: Validate user-submitted form data in Jakarta Faces, Spring MVC, and other web frameworks.
- name: Domain Model Validation
description: Enforce business rules and data integrity constraints on JPA entity classes and domain objects.
- name: Microservices Contract Validation
description: Validate inter-service request and response payloads to enforce API contracts in microservices architectures.
- type: Integrations
data:
- name: Spring Framework
description: Spring integrates Jakarta Bean Validation for controller method argument validation and service layer validation.
- name: Jakarta Persistence (JPA)
description: JPA providers call the Validator API before persisting entities to enforce database-layer constraint validation.
- name: Quarkus
description: Quarkus uses Hibernate Validator as its Bean Validation implementation with zero-config support in native
images.
- name: Jakarta Faces (JSF)
description: Jakarta Faces integrates Bean Validation for automatic form field validation in web applications.
- name: Micronaut
description: Micronaut Framework uses Bean Validation for controller parameter and return value validation.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.