我想驗證一個模型,其中規則不總是相同的,並且取決於模型中的其他屬性。做這件事的最好方法是什麼?實施例下面:MVC 3我如何驗證整個ViewModel?
假設實施例1
使用MVVM圖案與MVC 3.我的(假設的)視圖模型看起來像這樣:
public string OrderType { get; set; }
public string Requestor { get; set; }
public int NumberOfPeanuts { get; set; }
public int NumberOfJellyBeans { get; set; }
public int NumberOfAlmonds { get; set; }
我的觀點基本上看起來像這樣:
@Html.EditorFor(model => model.OrderType)
@Html.EditorFor(model => model.Requestor)
@Html.EditorFor(model => model.NumberOfPeanuts)
@Html.EditorFor(model => model.NumberOfJellyBeans)
@Html.EditorFor(model => model.NumberOfAlmonds)
我將如何實現將返回以下規則的「Html.ValidationMessageFor」結果的驗證:
如果訂單類型=「花生」然後NumberOfPeanuts必須大於0,和NumberOfJellyBeans和NumberOfAlmonds必須爲空值或0,否則顯示「這是花生唯一順序」
如果訂單類型=「樣本」然後NumberOfPeanuts + NumberOfJellyBeans + NumberOfAlmonds必須小於30,否則顯示驗證消息「樣本不高的總量不夠」
等...等...