网站主页面布局怎么做,雪狼网站系统,域名格式大全,网上的网站模板怎么用在前面的创建专辑与编辑专辑的表单中存在一个问题#xff1a;我们没有进行任何验证。字段的内容可以不输入#xff0c;或者在价格的字段中输入一些字符#xff0c;在执行程序的时候#xff0c;这些错误会导致数据库保存过程中出现错误#xff0c;我们将会看到来自数据库的… 在前面的创建专辑与编辑专辑的表单中存在一个问题我们没有进行任何验证。字段的内容可以不输入或者在价格的字段中输入一些字符在执行程序的时候这些错误会导致数据库保存过程中出现错误我们将会看到来自数据库的错误信息。 通过为模型类增加数据描述的 DataAnnotations 我们可以容易地为应用程序增加验证的功能。DataAnnotations 允许我们描述希望应用在模型属性上的验证规则ASP.NET MVC 将会使用这些 DataAnnotations 然后将适当的验证信息返回给用户。 为专辑表单增加验证 我们将会使用下列的 DataAnnotations Required 必须 – 表示这个属性是必须提供内容的字段DisplayName 显示名 – 定义表单字段的提示名称StringLength 字符串长度 – 定义字符串类型的属性的最大长度Range 范围 – 为数字类型的属性提供最大值和最小值Bind 绑定 – 列出在将请求参数绑定到模型的时候包含和不包含的字段ScaffoldColumn 支架列 - 在编辑表单的时候需要隐藏起来的的字符注意更多关于模型验证的信息请参考http://msdn.microsoft.com/zh-cn/library/ee256141%28VS.100%29.aspx 打开 Album 类首先增加下面的 using 语句这些语句引用了 DataAnnotations 使用的命名空间。 using System.ComponentModel;using System.ComponentModel.DataAnnotations;using System.Web.Mvc; 然后更新属性增加显示和验证的 DataAnnotations namespace MvcMusicStore.Models{ [Bind(Exclude AlbumId)]public class Album { [ScaffoldColumn(false)]public int AlbumId { get; set; } [DisplayName(Genre)]public int GenreId { get; set; } [DisplayName(Artist)]public int ArtistId { get; set; } [Required(ErrorMessage An Album Title is required)] [StringLength(160)]public string Title { get; set; } [Required(ErrorMessage Price is required)] [Range(0.01, 100.00, ErrorMessage Price must be between 0.01 and 100.00)]public decimal Price { get; set; } [DisplayName(Album Art URL)] [StringLength(1024)]public string AlbumArtUrl { get; set; }public virtual Genre Genre { get; set; }public virtual Artist Artist { get; set; } }} 然后将专辑 Album 的属性 Genre 和 Artist 设置为虚拟的 virtual 这将会使 EF-Code First 使用延迟加载。 public virtual Genre Genre { get; set; }public virtual Artist Artist { get; set; } 为专缉修改完成之后我们的创建和编辑界面立即就会验证字段并且使用我们提供的显示名称例如 AlbumArtUrl 将会成为 Album Art URL 等等。运行程序浏览 /StoreManager/Create. 下一步我们特意输入一些破坏验证规则的数据在价格字段中输入 0, 将标题字段的内容保留为空白当我们点击创建的时候我们将会看到表单中不符合验证规则的字段显示了验证的错误提示信息。 测试客户端验证 对于应用程序来说服务器端验证非常重要因为用户可能绕过了客户端验证实际上Web 页面仅仅实现服务器端验证存在三个显著的问题 在提交表单的时候用户必须等待验证在服务器端进行需要将验证的结果发送回浏览器。用户不能在输入错误的时候立即得到回应以便通过验证规则的检查。我们把可以在浏览器完成的工作交给了服务器浪费了服务器的资源。 幸运的是ASP.NET MVC3 支架模板还提供了内建的客户端验证不需要我们做额外的工作就可以使用。 在必须输入的标题字段中输入一个字符验证的错误提示信息立即就消失了。 这里我们要注意几点 页面中已经引用了 jQuery 的脚本。 script srcUrl.Content(~/Scripts/jquery.validate.min.js) typetext/javascript/scriptscript srcUrl.Content(~/Scripts/jquery.validate.unobtrusive.min.js) typetext/javascript/script 在 web.config 中已经默认支持了客户端验证。 appSettingsadd keyClientValidationEnabled valuetrue/ add keyUnobtrusiveJavaScriptEnabled valuetrue/ /appSettings 转载于:https://www.cnblogs.com/uppercloud/p/MVCMusicStore_7.html