2011-05-14 117 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相同),并作为错误信息的字符串。