problem-details-ktor-validation
Ktor RequestValidation plugin integration: maps RequestValidationException to a Problem carrying an errors[] extension array with JSON Pointer (RFC 6901) references — the multi-field validation pattern RFC 9457 itself recommends.
RequestValidation's own ValidationResult.Invalid carries nothing but a flat list of reason strings — no field name, no path. io.github.ilyankin.rfc9457.ktor.validation.invalidField and io.github.ilyankin.rfc9457.ktor.validation.invalidFields encode a JSON Pointer alongside each message so io.github.ilyankin.rfc9457.ktor.validation.requestValidation can decode it back into a proper errors[] entry; a reason written any other way still works, it just degrades to a detail-only entry with no pointer.
Packages
This module exists to bridge RequestValidation's reason strings, which carry nothing but text, to errors[]. If you are not tied to that plugin, there is a shorter route to the same document with no encoding in between: throw your own exception from inside validate<T> { } and map it with problem-details-ktor's map<T> { }. Ktor calls validators without a try, so the exception reaches StatusPages untouched, carrying whatever typed payload you gave it.