MVC进阶篇(三)——model层数据验证

前言

  常常在想,姓名性别那些个验证,真的有必要每次遇到,每次写验证吗?好麻烦,于是学到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);
        }

效果图

 

小结

  通过这些验证,是不是用户体验度更加高了。


感谢您的宝贵时间···

posted @ 2016-12-30 16:13  小小小同  阅读(373)  评论(0编辑  收藏  举报