在我的 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之前放置此代码

这样可以解决您的问题。

07-27 19:50