前言
常常在想,姓名性别那些个验证,真的有必要每次遇到,每次写验证吗?好麻烦,于是学到MVC这里,发现MVC自带数据验证,这个东西着实是个好东西。我写了一个小demo,分享给大家。
内容
一个表单的提交,进行相应的验证。微软提供的MVC中的model层数据验证。
Demo
Model层
using System.ComponentModel; using System.ComponentModel.DataAnnotations; namespace mvctest.Models { public class usermodel { /* * 在MVC里面采用数据验证, * 引用:using System.ComponentModel.DataAnnotations */ [Required(ErrorMessage = "名称不能为空")] [StringLength(10, ErrorMessage = "您输入的字符不能超过10个")] [DisplayName("姓名")] public string userName { get; set; } [Required(ErrorMessage = "性别不能为空")] [DisplayName("性别")] public string sex { get; set; } [Required(ErrorMessage = "*必填项")] [RegularExpression(@"^[w-.]+@[w-.]+(.w+)+$", ErrorMessage = "邮箱输入不正确")] [DisplayName("邮箱")] public string eMail { get; set; } } }
View层
<div> @*表单提交*@ @using (Html.BeginForm("userinfo", "Home", FormMethod.Post)) { <p>@Html.LabelFor(b => b.userName):@Html.TextBoxFor(b => b.userName):@Html.ValidationMessageFor(b=>b.userName)</p> <p>@Html.LabelFor(b => b.eMail):@Html.TextBoxFor(b => b.eMail):@Html.ValidationMessageFor(b=>b.eMail)</p> <p>@Html.LabelFor(b => b.sex):@Html.TextBoxFor(b => b.sex):@Html.ValidationMessageFor(b=>b.sex)</p> <input type="submit" value="提交" /> } </div>
Controller层
/* * 姓名:周丽同-2016年12月30日16:09:40 * 功能:表单验证 */ public ActionResult userinfo(Models.usermodel usermodel) { ViewData["message"] = "数据基本验证成功"; return View(usermodel); }
效果图
小结
通过这些验证,是不是用户体验度更加高了。
感谢您的宝贵时间···