2011-05-14 123 views
8

是否有任何方式與僅使用從屬性聲明的ErrorMessage值在MVC 3.0邏輯遠程確認ASP.NET MVC 3遠程驗證組自定義錯誤消息

public ActionResult IsUserEmailExists(string email) 
     { 
      bool isExists = service.IsUserExists(email); 

      if(isExists) 
      //Set error message 
      return Json(!isExists, JsonRequestBehavior.AllowGet); 
      else if(something) 
       //another logic 
       //Set errror message 
       return Json(something, JsonRequestBehavior.AllowGet);    
     } 

缺省遠程驗證根據設置不同的錯誤

[Remote("IsUserEmailExists", "Account", ErrorMessage = "User with such email already exists")] 

有什麼方法可以改變這種行爲嗎?

回答

25

你可以返回錯誤信息,而不是一個布爾值:

return Json("Some custom error message", JsonRequestBehavior.AllowGet); 

在這種情況下,模型將被視爲無效(因爲如果你已經回到false相同),並作爲錯誤信息的字符串。