zoukankan      html  css  js  c++  java
  • 10:Model验证

    ♣ 视频地址 :https://www.bilibili.com/video/av38392956/?p=9

    下面讲的是Data Annotaions(数据注解/注释)

    我们先在Create.cshtml页面添加上一个标签,实际上label里的FirstName找的就是属性名

    然后我们看下效果

    然后我们进到StudentCreateViewModel里面

    首先呢,我们要达到的需求是不显示英文,显示中文,把FirstName改成名,LastName改成姓,还有出生日期和性别,如下所示

    public class StudentCreateViewModel
        {
            public int Id { get; set; }
    
            [Display(Name ="")]
            public string FirstName { get; set; }
    
            [Display(Name = "")]
            public string LastName { get; set; }
    
            [Display(Name = "出生日期")]
            public DateTime BirthDate { get; set; }
    
            [Display(Name = "性别")]
            public Gender Gender { get; set; }
        }

    现在我们看下效果,可以看到都已经转换过来了

    所以,asp-for用在label上,它首先就会寻找Display这个DataAnnotations里面的值,如果没有这个属性的话,那么它就会显示这个属性的名(例如:FirstName)

    一个属性可以有多个DataAnnotations,把FirstName这个字符串当做一个密码,如下图

     看效果,这时候输入的时候就变成密码输入框了,如下图

    DataAnnotations有很多种,并且Tag Helpers会结合一起来用,会生成不同类型的数据或者显示其他的一些名称,但是主要还是用来验证Model


    目前我们对Model没有什么验证,那当我们什么都不填就提交,就可以看到如下页面,姓名,出生日期都不对

    下面我们就先验证,如下图1代表必填,2代表必填的另一种写法,3代表最大长度为10个字符

  • 相关阅读:
    浏览器漫谈
    无尽的烦恼
    微软的无聊
    作软件的人永远都是受气包吗?
    除非迫不得已不要用游标
    公司进行改革,路该如何走?
    Performance best practices for Web services
    HowTO: Create an Event Log Source in code, without the Permission errors
    Team Foundation Server安装指南
    百年不遇的,我遇到了两次
  • 原文地址:https://www.cnblogs.com/Codemandyk/p/11023731.html
Copyright © 2011-2022 走看看