10:Model验证

Posted codemandyk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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里面的值,如果没有这个属性的话,那么它就会显示这个属性的名

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

技术图片

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

技术图片

 

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


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

技术图片

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

技术图片

 

以上是关于10:Model验证的主要内容,如果未能解决你的问题,请参考以下文章

Mvc model验证总结

带有外键的 django 自定义表单验证

model验证——remote服务端验证

Model验证

thinkphp的model三大自动功能

.NET MVC model数据验证