asp.net mvc-如何在更改模型后使模型状态有效



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

当您完成对模型的更改时,请使用以下命令:

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

MSDN

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

ModelState.Remove("key");

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

最新更新