我使用數據庫優先和我通過ViewModel驗證我的輸入。但是,我想檢查是否已經在db中使用了UserName
。我怎麼做?這是多遠我設法(我可以驗證並保存):MVC - 如何檢查用戶名是否已被使用?
[Required]
[StringLength(50)]
[MinLength(3, ErrorMessage = "You must at least have 3 letters")]
public string UserName { get; set; }
而下面是在控制我的註冊代碼:
[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();
}
正是我在尋找,謝謝。順便說一句,有沒有什麼好的方法來返回「驗證信息」? – Nyprez
有很多方法。一種方法是在ViewBag中設置驗證消息,在視圖中將其分配給可視控件。你可以谷歌樣本。 – RajN
嗯,謝謝你的工作:) – Nyprez