2011年3月4日

MVC 验证和异常处理 手工激活验证

摘要: 不管是通过action参数获取一个model,或者是手工calling UpdateModel()还是TryUpdateModel(),默认的DefaultModelBinder都将自动执行合法验证。但是,你用其他的方法更新model时,自动验证则会跳过。例如:public ActionResult MakeBooking(string clientName, DateTime? appointmentDate, bool acceptsTerms) { var appt = new Appointment { ClientName = clientName, AppointmentDate 阅读全文

posted @ 2011-03-04 21:55 arg 阅读(416) 评论(0) 推荐(0) 编辑

MVC 验证和异常处理 自动验证使用 IDataErrorInfo 接口

摘要: 除了DataAnnotationsModelValidationFactory,还有DataErrorInfoModelValidatorProvider。DataErrorInfoModelValidatorProvider提供另一种自定义数据合法性验证支持。Asp.net mvc硬编码支持IDataErrorInfo接口。使用方法为model实现IDataErrorInfo。IDataErrorInfo要求实现返回model级别和属性级别违法信息。示例:public class Appointment : IDataErrorInfo { public string ClientName 阅读全文

posted @ 2011-03-04 19:16 arg 阅读(680) 评论(0) 推荐(0) 编辑

MVC 验证和异常处理 自动验证使用Data Annotations Validation Attributes

摘要: 使用数据标签验证属性,control不用劳什子一一手工指定验证,在model binding期间,所有标记属性会自动启用验证,并把不合法信息登记进ModelState。View不需要任何变化。默认,asp.net mvc注册使用DataAnnotationsModelValidationFactory,它能识别的标签包括:[Range],[RegularExpression],[Required],[StringLength]。示例:public class Appointment { [Required(ErrorMessage = "Please enter your name& 阅读全文

posted @ 2011-03-04 19:01 arg 阅读(1228) 评论(0) 推荐(0) 编辑

MVC 验证和异常处理 分开处理Model级别和属性级别验证

摘要: Model和属性级别区分的概念需要参考这种场景:几个属性合一块来决定出一现合法信息属于model级,属性级则在纠缠在本身,比如int型必须是int型这种。 带来级别的概念是为了解释一种验证信息不好指定为某个属性上时的处理方案。View有两种显示异常的情况一种是summer(Html.ValidationSummary()),一种是each(Html.ValidationMessageFor())。属性界别用each一一对应,模块界别用summer。ModelState.AddModelError也支持key为空,key为空,则信息属于model级别。但是summer默认会显示已经包括在each 阅读全文

posted @ 2011-03-04 18:32 arg 阅读(761) 评论(0) 推荐(0) 编辑

MVC 验证和异常处理 开篇及简单示例

摘要: MVC 验证和异常处理 开篇及简单示例。 背景: MVC 验证和异常处理参考Pro ASP.NET MVC2 Framerowk Seciond Edition.Pdf,将会有书中示例出现在随笔中,或者由于个人能力问题,和原文有偏差。纯属个人加强记忆的随笔。欢迎指正。 开始第一篇 注册和 显示不合法验证信息MVC 用ModelState 存储Model在请求间发生的一系列信息,包括后台数据合法性验证 。让我们用一个例子来说明使用方法:后台定义个model和一个controlpublic class Appointment { public string ClientName { get; se 阅读全文

posted @ 2011-03-04 17:50 arg 阅读(520) 评论(0) 推荐(1) 编辑

导航