改变模型后如何有效模型状态

时间:2013-02-13 16:06:02

标签: asp.net-mvc asp.net-mvc-3 model modelstate

我正在尝试使用ModelState.IsValid,因为模型中的一个字段在对象中是空的,所以此时总是会返回false。

我想要做的是在此方法中删除此对象,然后在更改的模型上尝试ModelState.IsValid

loyaltyOffers = model.Offers.Where(m => m.Reward == "").ToList();
foreach (Offer offer in Offers)
{
   model.Offers.Remove(offer);
}       
if (ModelState.IsValid)
{

2 个答案:

答案 0 :(得分:3)

完成改变模型后,请使用:

if (TryValidateModel(model))
    // Valid!!!

MSDN

答案 1 :(得分:0)

或者,您可以从ModelState中删除错误:

ModelState.Remove("key");

其中“key”是无效模型中错误的关键。