在我的 Controller 中,我有以下代码:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(AdEntry adentry)
{
adentry.adDate = DateTime.Now;
adentry.adExpirationDate = DateTime.Now.AddDays(32);
adentry.adConfirmationID = rKeyGen(8);
if (ModelState.IsValid)
{
db.Items.Add(adentry);
db.SaveChanges();
TempData["Summary"] = adentry;
return RedirectToAction("Index");
}
return View(adentry);
}
在我的模型中,我具有以下属性:
[Required(ErrorMessage = "Confirmation Id is Required.")]
[StringLength(8, ErrorMessage = "{0} is too long.")]
public virtual String adConfirmationID { get; set; }
当我尝试创建新项目时ModelState.IsValid = false。我得到的错误是必须提供身份识别ID。我将adConfirmationID =设置为检查上方的值。如何使这张支票通过?
最佳答案
尝试以下方法:
ModelState.Remove("adConfirmationID")
在检查
ModelState.IsValid
之前放置此代码这样可以解决您的问题。