不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行。客户端验证能即时给出一个错误反馈(阻止请求发送至服务器),是时下 Web 应用程序所期望的特性。服务器端验证,主要是因为来自网络的信息都是不可信任的。
当在 ASP.NET MVC 设计模式上下文中谈论验证时,主要关注的是验证模型的值。ASP.NET MVC 验证特性可以帮助我们验证模型值,且这样验证特性是可扩展的,所以我们可以采用任意想要的方式构建验证模式,默认方法是一种声明式验证,即数据注解特性。
注解是一种通用机制,不单单局限于验证这一用途,可以用来向框架注入元数据。
为验证注解订单
购买音乐的顾客会有一个典型的购物车结算环节,需要付款和填写收货信息。Order 类包含完成结算所需要需要的完整信息:
class Order
{
public int OrderId { get; set; }
public System.DateTime OrderDate { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public decimal Total { get; set; }
public List<OrderDetail> OrderDetails { get; set; }
}