2013-02-13 51 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"); 

在哪裏「關鍵」是無效模型中錯誤的關鍵。