← ClaudeAtlas

kora-aop-validationlisted

Kora declarative validation — @Valid/@Validate with Kora's own constraints (@NotBlank/@Pattern/@Range/@Size) and custom @ValidatedBy. Use when validating DTOs or service args. Kora validation is NOT Jakarta/JSR-380.
kora-projects/kora-skills · ★ 1 · AI & Automation · score 72
Install: claude install-skill kora-projects/kora-skills
# Kora AOP Validation > **Kora sub-skill — obey the [kora-v1 meta rules](../../SKILL.md) on every task:** **R0** ensure `.kora-agent/` docs+examples are cloned · **R1** read this sub-skill before writing code · **R2** Kora APIs only — no Spring/Micronaut/Quarkus, no invented annotations or config keys · **R3** journal any incorrect Kora usage. Add comments/Javadoc only if asked. Kora validates classes/records and method arguments/results at compile time using its **own** constraint annotations and generated `Validator<T>` components. There is no reflection: `@Valid` generates a `Validator<T>`, `@Validate` weaves an aspect into a method. **Key fact:** Kora validation annotations come from `ru.tinkoff.kora.validation.common.annotation`, NOT from `jakarta.validation` / JSR-380. The full constraint set is only these five: `@NotBlank`, `@NotEmpty`, `@Pattern`, `@Range`, `@Size`. There is **no** `@NotNull` constraint — every field/argument is implicitly required (null fails) unless marked `@Nullable`. --- ## Quick Start ### 1. Dependency + module Two setups exist — pick by whether you need HTTP integration. All Kora artifacts inherit their version from the `kora-parent` BOM; never pin individual `ru.tinkoff.kora:*` versions. **Plain validation (no HTTP)** — artifact `validation-common`, module `ValidatorModule`: ```groovy dependencies { annotationProcessor "ru.tinkoff.kora:annotation-processors" // mandatory: generates validators + aspects implementation "ru.tinkof