• 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);
            }

    效果图

     

    小结

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


    感谢您的宝贵时间···

  • 相关阅读:
    20209/29
    2020/9/30
    2020/10/1
    ATM测试总结报告
    20201020 千锤百炼软工人
    20201024 千锤百炼软工人
    20201025 千锤百炼软工人
    20201023 千锤百炼软工人
    20201018 千锤百炼软工人
    20201022 千锤百炼软工人
  • 原文地址:https://www.cnblogs.com/zhoulitong/p/6412318.html
Copyright © 2020-2023  润新知