Tôi đang sử dụng trình xác nhận Hibernate như @NotEmpty để xem một thuộc tính cụ thể trong một lớp có trống hay không. Lớp học như sau:Hibernate Validator: Sử dụng if - else loại logic trong chú thích
@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;
}
Cho đến nay rất tốt. Bất cứ khi nào thuộc tính "homePageMessage" trống thì tôi có thể thấy thông báo lỗi chính xác trong biểu mẫu trong trình duyệt.
Hiện tại, tình hình đã thay đổi. Yêu cầu mới là thuộc tính "homePageMessage" chỉ có thể trống nếu thuộc tính khác "messagesEnabled" được đặt thành 1. Nếu nó được đặt thành 0 thì sẽ không có kiểm tra trống nào được thực hiện cho "homePageMessage". Nói một cách đơn giản, việc xác thực "homePageMessage" bây giờ sẽ phụ thuộc vào giá trị "messagesEnabled".
Câu hỏi của tôi: Điều này có thể thực hiện với chú thích không? Nếu không, sau đó tôi sẽ phải tháo dỡ cơ chế xác nhận hibernate của tôi và tạo lớp xác nhận của riêng tôi.
Cảm ơn bạn đã chia sẻ liên kết. Nó rất hữu ích. Tôi sẽ cố gắng viết chú thích tùy chỉnh. – Raj
Tốt thứ của tôi. –