这里将要和大家分享的是学习总结第三篇;首先感慨一下这周跟随netcore官网学习是遇到的一些问题:

a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列子测试实例,官网给出的一句话暂未发布最新包

NET Core-学习笔记(三)

b.某些资料不够详细只是一句话,加上网速慢,查阅资料不行啊

好了,感慨完后,下面是本篇将要分享的学习步奏,对于刚学或者即将要学习的朋友做个相互交流:

 

1.Model Validation(实体模型验证)

2.自定义验证属性

3.创建一个接口支持返回json,xml两种数据格式

 

下面一步一个脚印的来分享:

1.Model Validation(实体模型验证)

实体模型验证,直接通过添加注解的方式来定义需要验证的格式,要使用注解必须在实体类文件中引用System.ComponentModel.DataAnnotations该命名空间,写法如下:

NET Core-学习笔记(三)

红色框里面的就是用法,直接写在属性字段上方中括号('[]')括起来,小括号('()')里面是传递的参数,这里截图用到了Required:必填,StringLength(100):最小输入字符长度100,ClasssicMoive(1960):自定义验证,DataType(DataType.Date):属性为日期格式;还有很多常用的验证特性,具体可以去这个地址:https://docs.asp.net/en/latest/mvc/models/validation.html;

这里重点说这两个:

Remote(使用远程验证):通俗一点讲就是通过指定的路由去后台验证该属性的值知否有效,属于服务器验证;方法的实例用法如下(这里介绍一种用法,至于重载的方法各位可以试试):

NET Core-学习笔记(三)

这里需要的参数是routeName:就是路由,后面的一些属性非必填,咋们按照默认的来写一个

首先,定义一个验证是否包含有Blogs字样的路由,代码如下:

 1 [AcceptVerbs("Get", "Post")]
 2         public JsonResult IsContainerBlogs(string title)
 3         {
 4 
 5             if (!title.Contains("Blogs") || string.IsNullOrEmpty(title))
 6             {
 7 
 8                 return Json("Title里面没有Blogs字样!");
 9             }
10             return Json(true);
11         }
View Code

相关文章: