Bean Validation Playground

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.

★ Star on GitHub
0 violations

request body → @Valid CreateUserRequest

the DTO


      

HTTP response

200 OK

      
Try this: hit break it — every field goes red, and the response becomes the classic 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.