@Override public boolean isValid(String value, ConstraintValidatorContext context) { context.disableDefaultConstraintViolation(); context.buildConstraintViolationWithTemplate( context.getDefaultConstraintMessageTemplate() ) .addContainerElementNode( "myNode1", Map.class, 1 ) .inIterable() .atKey( "key" ) .addConstraintViolation(); context.buildConstraintViolationWithTemplate( context.getDefaultConstraintMessageTemplate() ) .addContainerElementNode( "myNode2", Map.class, 1 ) .inIterable() .atKey( "key" ) .addContainerElementNode( "myNode3", List.class, 0 ) .inIterable() .atIndex( 8 ) .addContainerElementNode( "myNode4", Optional.class, 0 ) .addConstraintViolation(); return false; } }