ASP.NET MVC 3远程验证设置自定义错误消息

时间:2011-05-14 07:43:47

标签: asp.net-mvc-3

有没有办法根据MVC 3.0远程验证中的逻辑设置不同的错误

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);             
        }

默认情况下,仅使用属性声明中的ErrorMessage值进行远程验证

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

有没有办法改变这种行为?

1 个答案:

答案 0 :(得分:27)

您可以返回错误消息而不是布尔值:

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

在这种情况下,模型将被视为无效(与您返回false时相同)和用作错误消息的字符串。