2013-05-06 27 views
5

Tôi có một StartDateEndDate trên SchoolEvents mẫu của tôi và tôi đã tự hỏi nếu có bất kỳ chú thích dữ liệu tôi có thể sử dụng để xác minh rằng StartDate là nhỏ hơn hoặc bằng với EndDate và rằng EndDate là lớn hơn hoặc bằng với StartDate ?Có cách nào thông qua chú thích dữ liệu để xác minh rằng một thuộc tính ngày tháng lớn hơn hoặc bằng một thuộc tính ngày khác không?

Trả lời

5

Từ quan điểm của tôi, bạn phải tạo custom validation attribute. Bạn có thể xem số link để xác thực theo xác thực của bạn. Nó sẽ nỗ lực của bạn rất nhiều. Thay vì sử dụng chú thích dữ liệu, bạn nên áp dụng Fluent Validation sẽ giúp bạn giảm bớt nỗ lực. Nó rất dễ dàng để thiết lập, thẳng về phía trước và tách mối quan tâm, bạn không cần trộn giữa các mô hình xem, các đối tượng miền và các xác nhận hợp lệ phụ thuộc vào quy tắc nghiệp vụ.

3

Bạn có thể đạt được những gì bạn cần bằng cách cài đặt và sử dụng gói gói foolproof.

Install foolproof gói NuGet và sử dụng thêm các thuộc tính hữu ích của nó như sau:

public class EventViewModel 
{ 
    [Required] 
    public string Name { get; set; } 

    [Required] 
    public DateTime Start { get; set; } 

    [Required] 
    [GreaterThan("Start")] 
    public DateTime End { get; set; } 
} 

Nhiều ví dụ về chính xác những gì bạn cần là here

+1

Không có sự hỗ trợ cho MVC3 + trên hết sức rõ ràng và phiên bản cuối cùng của đó là vào năm 2012 – Odys

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