我正在尝试验证一个模型,其中规则并不总是相同并且取决于模型中的其他属性。这样做的最佳方法是什么?下面的例子:
假设示例 1
将 MVVM 模式与 MVC 3 结合使用。我的(假设的)ViewModel 如下所示:
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”结果的验证:
如果 OrderType = "Peanuts" 则 NumberOfPeanuts 必须大于 0,并且 NumberOfJellyBeans 和 NumberOfAlmonds 必须为 null 或 0,否则显示“这是一个仅限花生的订单”
如果 OrderType = "Sample" 那么 NumberOfPeanuts + NumberOfJellyBeans + NumberOfAlmonds 必须小于 30,否则显示验证消息“样本总量不够高”
等等……等等……