我怎样才能创建一个验证,我只能用这个名字创建 1 个用户

我的代码

这是

  [HttpPost]
        public ActionResult Create(Klant klant)
        {
            ModelState.AddModelError("Firma", "Firma already exists");

            if (ModelState.IsValid)
            {

                db.Klanten.Add(klant);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(klant);
        }

现在我可以创建 0 个用户,因为我总是收到错误 Firma 已经存在我的 addmodelerror

最佳答案

首先,检查您的模型状态是否有效。如果不是,让用户知道有一些无效的字段。

如果有效,请检查该用户名是否已存在,如果存在,则返回带有添加的模型错误的模型:

public ActionResult Create(Klant klant)
{
    if (ModelState.IsValid)
    {
        if(db.Klanten.Any(k => k.Username == klant.Username)
           ModelState.AddModelError("Firma", "Firma already exists");
        else
        {
           db.Klanten.Add(klant);
           db.SaveChanges();
           return RedirectToAction("Index");
        }
    }

    return View(klant);
}

这种方法对用户更友好,因为他们可能遇到的最后一个错误是用户名已经被占用,他们只需要更改它。

关于c# - mvc 重复用户验证错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26873314/

10-12 02:32