6

Tôi đang sử dụng chú thích Ràng buộc để xác thực đối tượng của mình trong Play! khuôn khổ 2. Nó hoạt động tốt cho các đối tượng cấp cao nhất, nhưng không hoạt động tốt. Làm cách nào để nhận chú thích xác thực đối tượng lồng nhau để hoạt động?Xác nhận không hoạt động trên các đối tượng lồng nhau trong khung chơi 2

Sự kiện: Đối tượng cấp cao nhất tôi đang lưu.

@Entity 
public class Event { 

    @Required 
    public String name; 

    @OneToMany(cascade = CascadeType.ALL) 
    public List<Option> options; 

    ... 
} 

Tùy chọn: Đối tượng lồng nhau. Nó không xác nhận tính hợp lệ của thuộc tính name.

@Entity 
public class Option { 

    @Required 
    public String name; 

    ... 
} 

Trả lời

14

Không quen thuộc với Play, nhưng có vẻ rất gần với javax.validation, trong đó bạn sẽ cần phải đặt @Valid trên sân options của bạn để cho các validator để rơi vào mối quan hệ đó. Chơi có một @Valid của riêng nó, vì vậy tôi sẽ cho rằng một shot.

Cập nhật: Như OP đã chỉ ra, ở trên là Play 1.0. Thay vào đó, trên Play 2.0 docs, nó sử dụng ràng buộc dữ liệu Spring và JSR-303 bên dưới mui xe, vậy làm cách nào để sử dụng chú thích javax.validation @Valid trên đó? Có lẽ Play 1.0 đã có khung xác nhận hợp lệ do nhà sản xuất và họ quyết định chuyển sang javax.validation trong 2.0? Điều đó sẽ giải thích tại sao một số chú thích xác thực dường như đã biến mất trong API 2.0.

+0

Tôi tin đó là chú thích trên Play 1, chứ không phải 2. – Brian

+0

Rất tiếc, xin lỗi. Đã cập nhật câu trả lời của tôi. Hãy thử một lần. –

Các vấn đề liên quan