Edit a request DTO and watch Jakarta Bean Validation (@Valid) run live. Each constraint — @NotBlank, @Email, @Size, @Min, @Pattern, and a nested @Valid cascade — flips pass/fail as you type, and the right panel shows the exact HTTP 400 field-error body Spring returns.
MethodArgumentNotValidException 400 with one entry per violated constraint (field, rejectedValue, message). Fix fields one at a time and watch the error list shrink. Note the nested address: it's only validated because the field carries @Valid — remove that annotation in real code and Spring skips the whole object (a very common "why isn't my nested validation running?" bug). Multiple constraints on one field (like @NotBlank @Size @Pattern on password) each report independently.