MVC3.0中提供了丰富的Model数据校验,这对于数据开发是非常方便,校验按实现方式来分,有如下几类:
- 在controller中进行校验
- 在Model上的属性的元数据上面加入验证逻辑
- ModelBinder上进行校验,并可以自定义属性进行验证
- Model自校验
- 自定义ValidateProvider进行校验
- 手动进行数据校验
- 远程校验(Ajax进行校验)
从客户端和服务端来分:
1,2,3,4,5,7属于服务端校验;
2,6属于客户端校验
1、在Controller进行校验
这是一种最直接的实现方式
示例代码如下:
1: [HttpPost]public ViewResult MakeBooking(Appointment appt) {string.IsNullOrEmpty(appt.ClientName)) {);5: }) && DateTime.Now > appt.Date) {);8: }if (!appt.TermsAccepted) {);11: }if (ModelState.IsValid) {13: repository.SaveAppointment(appt);, appt);else {return View();17: }18: }