我正在一個網站上工作,只是試圖讓我的頭繞着一般結構。我在後臺使用「存儲庫模式」訪問數據庫。我有下面的代碼在我 UserRepository類:存儲庫模式 - 驗證對象和返回消息
public bool IsValid(User user)
{
if (_context.Users.Any(c => c.EmailAddress == user.EmailAddress))
{
Message = "Email address already in use";
return false;
}
return true;
}
,這是
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(User user)
{
if (ModelState.IsValid)
{
var context = new Context("DatabaseContext");
var userRepo = new UserRepository(context);
if (userRepo.IsValid(user))
{
userRepo.Add(user);
// return to different view
}
else
{
// display userRepo.Message on page
return View(user);
}
}
return View(user);
}
我的問題是,我不認爲我會圍繞「消息」位正確地在這裏實現,但我無法在網上找到任何幫助我的東西(特別是在存儲庫周圍)。我認爲我應該改變返回類型 IsValid像結果(正如我已經看到的對話框),但我不知道。
任何幫助將不勝感激。
謝謝。
現在,你有一個驗證標準,所以一個布爾將是有道理的。如果事情變得更加複雜,請考慮返回錯誤消息(字符串),然後檢查它是否爲空(成功)。或者如果需要的話,您可以儘量使用ModelState在控制器中執行的操作。 – robjam