MVC4中的自定义模型验证

时间:2014-04-09 10:05:41

标签: c# validation asp.net-mvc-4 model

我使用的是Asp.net MVC4。我正在为每个实体提供一些实体和一些规则,我需要从控制器验证并显示 相应的错误消息。我正在尝试设计一个可用于我正在使用的所有实体的通用验证类。如果我打电话 验证它应该返回验证成功或验证错误列表。我将传递实体及其类型

一些示例实体和规则

    Employee - Employee should have either middle name or last name
             - First name, Middle name, last name should not be same
             - Should have address id and it should present in address table
             ......
             ......

     Address - In address line if there is an opening bracket it should have a matching closing bracket
             - If user give map url and it doesnt contains "http://" should show error message
            .......
            .......

我在资源文件中包含错误类型为id

的所有错误消息

请告诉我应该遵循哪些approch?或者分享一些网络教程链接,这将帮助我设计这个

1 个答案:

答案 0 :(得分:1)

您是否考虑过远程验证?这可能是你想要实现的一个很好的例子,因为你有一些复杂的规则。

一些示例代码:

public class ValidationController : Controller 
{

  public JsonResult IsAddressValid(string Address) 
  {

     //if Address is valid
     return Json(true, JsonRequestBehavior.AllowGet);

    //else

   return Json("Address Not valid", JsonRequestBehavior.AllowGet);

  }
}

然后在您的模型上

public class SignupModel
{
    [Required]
    [Remote("IsAddressValid", "Validation")]
    public string Address{ get; set; }
}