Fer*_*ren 3 c# model-view-controller asp.net-mvc-validation visual-studio-2012 visual-studio-2013
我怎样才能创建一个验证,我只能创建一个具有该名称的用户
我的代码
这是
[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);
}
Run Code Online (Sandbox Code Playgroud)
现在我可以创建0个用户,因为我总是得到我的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);
}
Run Code Online (Sandbox Code Playgroud)
这种方法更加用户友好,因为他们可以拥有的最后一个错误是已经使用的用户名,他们只需要改变它.