extensions/hibernate-validator/deployment/src/main/resources/META-INF/quarkus-skill.md
jakarta.validation.constraints/org.hibernate.validator.constraints packages, e.g. @NotNull, @NotBlank, @NotEmpty, @Size, @Min, @Max, @Email, @Pattern on class fields and getters or on method parameters and return values of CDI beans.@Valid for cascading validation: on bean properties or method's return value/parameters represented by a complex type with constraints.@Valid on the endpoint parameter.ConstraintViolationException explicitly if you need custom error responses for those.@AssertTrue: @AssertTrue(message="{message.key.for.this.check}") public boolean is[NameOfTheCheck]() { ... }@Target({ METHOD, FIELD, ... }) @Retention(RUNTIME) @Constraint(validatedBy = {}).ConstraintValidator<MyAnnotation, TargetType>.src/main/resources/META-INF/services/jakarta.validation.ConstraintValidatorValidator injection and validator.validate(object).@Valid on nested object parameters — Without it, constraints on nested object fields are silently ignored.new objects are not validated.