Ich benutze Datenbank zuerst und ich validiere meine Eingaben über ViewModel. Ich möchte jedoch überprüfen, ob entweder bereits in db übernommen wird. Wie mache ich das? Dies ist, wie weit konnte ich bekommen (ich kann bestätigen und speichern):MVC - Wie überprüft man, ob der Benutzername nicht bereits vergeben ist?
[Required]
[StringLength(50)]
[MinLength(3, ErrorMessage = "You must at least have 3 letters")]
public string UserName { get; set; }
und das folgende ist mein Register Code in Controller:
[HttpGet]
public ActionResult Register() {
return View();
}
[HttpPost]
public ActionResult Register(UserVIewModel reg) {
if (ModelState.IsValid)
{
var m = new User {
UserName = reg.UserName,
Email = reg.Email,
FirstName = reg.FirstName,
LastName = reg.LastName,
Password = reg.Password
};
db.Users.Add(m);
db.SaveChanges();
return RedirectToAction("Login");
}
return View();
}
Genau das, was ich für dank gesucht. Übrigens, gibt es eine gute Möglichkeit, eine "Validierungsnachricht" zurückzugeben? – Nyprez
Es gibt viele Möglichkeiten. Eine Möglichkeit besteht darin, die Überprüfungsmeldung in ViewBag zu setzen, um sie in der Ansicht einem visuellen Steuerelement zuzuordnen. Sie können für Beispiel google. – RajN
Ah danke, es hat funktioniert :) – Nyprez