我知道有data annotation
驗證數據,如[Required]
,[Range()]
等。更不用說unobtrusive validation
,它使客戶端更容易。非常感謝他們。驗證取決於其他實體屬性值的傳入請求?
但是如果您需要驗證取決於實體屬性值的值,那麼該怎麼辦?我有這個scenarion,說:
我的模型:
public class Schedule
{
public int Id { get; set; }
public DatetimeOffset StartDate { get; set; }
public DatetimeOffset EndDate { get; set; }
}
現在在form
,
<input type="text" name="StartDate" />
<input type="text" name="EndDate" />
你會如何驗證該EndDate
不應該less than
的StartDate
?對於data annotation
是否有內置的attribute
?或者應該定製一個?如果它能夠通過微軟使用unobstrusive validation
,那將是一件好事。
這裏是另一種情況:
如果你要這麼做取決於保存在分貝值驗證?再說了,
public class Bag
{
//constructor
public int Capacity { get; set; }
public virtual ICollection<Item> Items { get; set; }
}
public class Item
{
//constructor
public string Description { get; set; }
public virtual ICollection<Bag> Bags { get; set; }
}
也就是說,如果你會做的Items
驗證被添加到Bag
但如果用戶試圖輸入超出極限的Bag
的Capacity
,應顯示驗證錯誤。
這可能嗎?
我目前正在使用ASP.NET MVC 4. EF5代碼的第一種方法。