系列文章目录:系列教程:使用 Core创建Razor Pages Web应用程序 - zhangpeterx的博客
系列教程代码的GitHub地址:ASP .Net Core Razor Pages MySQL Tutorial
上一个教程: 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客户端验证检测到错误时,它会显示错误消息。