ASP.NET MVC中的验证

1.简单验证

在ASP.Net MVC中,验证是在Controller层,而错误呈现是在View层,Controller层是通过ModelState属性进行验证的,ModelState的状态是通过AddModelError()方法进行 添加的。

而在View层,是通过Html的辅助方法进行呈现的,这两个辅助方法分别是

  • Html.ValidationMessage()
  • Html.ValidationSummary()

Controller层的简单验证


View层的Html辅助方法Html.ValidationMessage()与Html.ValidationSummary()

如果使用Entityframework生成的Model,数据库设计时为不为空,那么生成的Model层该字段的Nullable属性就为false,即使在Controller没有做简单验证,在View层也会做是否为空的判断的。 

 

2.使用IDataErrorInfo Interface

 IDataErrorInfo接口的定义比较简单:

 

public interface IDataErrorInfo
{
string this[string columnName] { get; }

string Error { get; }
}

 

 使用IDataErrorInfo Interface的步骤如下:

  • 针对Model,创建一个Partial类
  • 添加OnChanging和OnChanged Partial方法
  • 实现IDataErrorInfo接口

使用IdataErrorInfo

3.使用Data Annotation Validators

  • 下载Data Annotations Model Binder sample ,下载地址在http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471
  • 添加对 Microsoft.Web.Mvc.DataAnnotations.dll和System.ComponentModel.DataAnnotations.dll 的引用
  • 在Global.asax.cs中的Application_Start()方法中配置
  • 使用Data Annotation Validator Attributes
    System.ComponentModel.DataAnnotations命名空间下包括四个属性:
  • Range:范围验证
  • ReqularExpression:正则表达式验证
  • Required:必须验证
  • StringLength:字符串长度验证
  • Validation:这是所有验证属性的基类。
使用Data Annotation Validators

 

你可能感兴趣的:(asp.net)