Deseo aplicar ciertas anotaciones @NotBlank solo si otro campo es falso. En mi proyecto actual, tenemos que usar el validador de hibernación, por lo que no hay validación de commons + valang disponible para resolver esto.Validador de Hibernate: aplicar condicionalmente el validador
Como no soy muy aficionado a la creación de anotaciones personalizadas para resolver lo que debería ser fácil (algo molesto porque esto no forma parte de la especificación JSR-303) me preguntaba si alguien sabía de una manera aceptable para lograr esto. Encontré un tarro que lo logró, pero eso fue para Hibernate 3. Y debido a los cambios ...
Para ser honesto, en mi opinión, la falta de soporte para este tipo de escenario es uno de mis favoritos con la especificación JSR-303. Y las restricciones de nivel de clase son buenas y todas, pero no le dan la misma flexibilidad al colocar y personalizar sus mensajes de error. –
De acuerdo, pero creo que es solo una cuestión de separación de preocupaciones. Las validaciones de campo son específicamente para un Campo/Propiedad (vacío, nulo, mayor que X, menor que Y). Esas validaciones son inmutables y no se supone que dependan de ninguna otra parte del sistema. Nunca te confundirás con eso. De lo contrario, alguien podría crear una locura de validación en un solo campo. – Beccari
@Beccari Si mi situación es que si field1 = verdadero, valide el otro. Y digamos que mi otro campo es un objeto de clase, y por ahora solo estoy usando @Valid en él. Si tuviera que hacer este tipo de cosas if-else, tendré que escribir el mecanismo de validación para mi otro campo por mi cuenta, ¿verdad? No puedo usar '@ Valid' por más tiempo – Kraken