我怎样才能创建一个验证,我只能用这个名字创建 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/