失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > ASP.NET MVC 2中的数据验证

ASP.NET MVC 2中的数据验证

时间:2021-03-24 15:41:36

相关推荐

ASP.NET MVC 2中的数据验证

对照scottgu的博客,我试用了一下这个新增的数据验证功能,总的来说,还是比较方便的。我简单地总结步骤如下

1. 添加引用

2. 修改业务实体类,在需要进行验证的Property上面添加一些特殊的Attribute

using ponentModel.DataAnnotations;namespace Web.Models{public class GalleryListItem{[Required(ErrorMessage="标题是必须的")]public string Title { get; set; }public string Key { get; set; }public string Photo { get; set; }public string Description { get; set; }}}

3. 在页面中添加脚本引用

<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script><script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script><script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>

备注:这里必须使用MicrosoftMvcAjax,而不能使用jquery的那个validate.js

MicrosoftMvcAjax貌似会解析Model的所有属性,然后生成有关的验证规则,如下图所示

4. 在页面中启用验证

<% Html.EnableClientValidation(); %>

5. 文本框应该采用类似使用如下的语法绑定

<p><label for="Title">标题:</label><%= Html.TextBoxFor(m=>m.Title)%><%= Html.ValidationMessageFor(m=>m.Title)%></p><p><label for="Description">描述:</label><%= Html.TextBoxFor(m=>m.Description)%><%= Html.ValidationMessageFor(m=>m.Description) %></p>

6. Action代码中使用下面代码进行验证(因为客户端可能禁用javascript,所以服务端还是要验证的)

[AcceptVerbs(HttpVerbs.Post)]public ActionResult Edit(Models.GalleryListItem model){if (ModelState.IsValid){try{//这里做一些保存的操作return RedirectToAction("List");}catch{return View(model);}}return View(model);}

如果觉得《ASP.NET MVC 2中的数据验证》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。