ASP.NET Core Web Razor Pages系列教程八: 添加验证
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客
系列教程代码的GitHub地址:ASP .Net Core Razor Pages MySQL Tutorial
上一个教程:ASP.NET Core Web Razor Pages系列教程七: 添加新的字段
修改Movie.cs
代码:
public class Movie{public int ID { get; set; }[StringLength(60, MinimumLength = 3)][Required]public string Title { get; set; }[Display(Name = "Release Date")][DataType(DataType.Date)]public DateTime ReleaseDate { get; set; }[Range(1, 100)][DataType(DataType.Currency)][Column(TypeName = "decimal(18, 2)")]public decimal Price { get; set; }[RegularExpression(@"^[A-Z]+[a-zA-Z""'\s-]*$")][Required][StringLength(30)]public string Genre { get; set; }[RegularExpression(@"^[A-Z]+[a-zA-Z0-9""'\s-]*$")][StringLength(5)][Required]public string Rating { get; set; }}
验证属性指定要对其应用的模型属性强制执行的行为:
在Required和MinimumLength属性指示某个属性必须有一个值; 但没有什么能阻止用户输入空格来满足此验证。
该RegularExpression属性用于限制可以输入的字符。在前面的代码中,“类型”:
- 必须只使用字母。
- 第一个字母必须是大写的。不允许使用空格,数字和特殊字符。
该RegularExpression“等级”:
- 要求第一个字符是大写字母。
- 允许后续空格中的特殊字符和数字。“PG-13”对于评级有效,但对于“类型”则失败。
该Range属性将值约束在指定范围内。
该StringLength属性允许您设置字符串属性的最大长度,以及可选的最小长度。
值类型(如decimal,int,float,DateTime)的内在需要和不需要的[Required]属性。
ASP .NET Core自动执行验证规则有助于使您的应用程序更加强大。它还确保您不会忘记验证某些内容并无意中将错误数据放入数据库中。
然后打开页面: http://localhost:5000/Movies/Create
当jQuery客户端验证检测到错误时,它会显示错误消息。
ASP.NET Core Web Razor Pages系列教程八: 添加验证相关推荐
- ASP.NET Core Web Razor Pages系列教程七: 添加新的字段
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程:使用ASP.NET Core创建Razor Pages Web应用程序
ASP .Net Core Razor Pages MySQL Tutorial 本系列教程翻译自微软官方教程,官方教程地址:Tutorial: Create a Razor Pages web ap ...
- ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程六:添加搜索功能
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP .NET Core Web Razor Pages系列教程五:更新Razor Pages页面
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 上一个教程:ASP .NET Core 系列教程三:自动生成Razor ...
- ASP .NET Core Web Razor Pages系列教程三:自动生成Razor Pages (CRUD)
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP .NET Core Web Razor Pages系列教程二:添加模型到Razor Pages网络应用程序
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
- ASP.NET Core Web Razor Pages系列教程一:使用ASP.NET Core 创建一个Razor Pages网络应用程序
系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...
最新文章
- dedecms织梦获得首字母或拼音的方法,并实现文章列表按首字母归类
- 内核随记(三)--同步(2)【转】
- 一次问卷产品的MVP设计
- nema gps数据转换 matlab,GPS通信的NEMA协议与定位数据的提取.pdf
- 【Gitlab】GIT回滚master分支到指定tag版本 并提交远程仓库
- Android TextView多行文本滚动实现
- python完全支持面向对象编程思想_面向对象的编程思想和Python的继承和多态,特殊方法,引用计数...
- spring 的singleton 和prototype的区别和应用场合
- 自定义ElementUI风格树形组件,详解递归组件的使用及事件数据传递,视图更新等问题
- MediaPlayer生命周期
- 【SAS Notes】If then statements
- Spring 注解@Resource @Autowired @Service @Component
- Python 必备要点总结及环境搭建(上)
- linux中批量替换文本中字符串
- CISCO模拟器综合应用
- 让你的FireFox支持迅雷精简版
- Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五)
- 从90年代JDM到现在CDM现在namuDM,来了
- APM 飞行模式切换--源码详解
- c语言|程序设计|指针~字母出现次数(1)
热门文章
- CentOS 7 安装Boost 1.67及boost_python
- OpenCV | 分水岭算法进行图像分割
- spring cloud 日志_微服务架构开发实战:ElasticStack实现日志集中化
- R语言:如何快速生成许多差异明显的颜色?
- Nature综述:菌根共生的独特性和共性
- 环境微生物期刊—Bioresource Technology
- Plant Physiol. | 中科院遗传所储成才研究组发现水稻NLR类抗病基因突变导致的白叶枯病感病机制...
- 导师推荐的学术前沿号
- PNAS:亚马逊雨林向农业的转变导致土壤细菌群落的生物均质化
- ISME:宏基因组探究美洲河狸粪便微生物