Estoy usando el validador de Hibernate como @NotEmpty para ver si una propiedad específica en una clase está vacía o no. La clase es como se muestra:Hibernate Validator: Usando if - else tipo de lógica en la anotación
@Entity
@Table(name="emergency_messages")
public class EmergencyMessages implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id", nullable=false)
private Integer id;
@NotEmpty(message="Home message cannot be empty")
@Column(name="home_page_message")
private String homePageMessage;
@Range(min=0, max=1, message="Please select one of the display announcement value")
@Column(name="messages_enabled")
private Integer messagesEnabled;
}
Hasta ahora todo bien. Cuando la propiedad "homePageMessage" está vacía, puedo ver que el mensaje de error correcto aparece en el formulario del navegador.
Ahora la situación ha cambiado. El nuevo requisito es que la propiedad "homePageMessage" solo puede estar vacía si la otra propiedad "messagesEnabled" está configurada en 1. Si está configurada en 0, no debe haber ninguna comprobación vacía para "homePageMessage". En palabras simples, la validación de "homePageMessage" ahora debería depender del valor "messagesEnabled".
Mi pregunta: ¿Esto es posible con las anotaciones? De lo contrario, tendré que desmantelar mi mecanismo de validación de hibernación y crear mi propia clase de validación.
Gracias por compartir el enlace. Fue útil. Trataré de escribir una anotación personalizada. – Raj
Buenas cosas mi hombre. –