2013-02-13 52 views
0

我正尝试使用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) 
{ 

回答

3

当您完成改变模型,使用此:

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

MSDN

0

或者,你可以直接从ModelState中删除错误:

ModelState.Remove("key"); 

在哪里“关键”是无效模型中错误的关键。