首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET MVC 5 - 给数据模型添加校验器

具有通过.NET Framework会自动强制执行的验证规则, 有助于使你的应用程序更加健壮。它还确保可以不会忘记验证的东西,即在不经意间不会让坏的数据写入数据库。...它们是之前教程中自动生成的,并没有修改。...调用此方法将验证对象上所有应用了验证约束的属性。如果对象含有验证错误,则Create方法会重新显示初始的form。如果没有任何错误,方法将保存信息到数据库。...它们会自动查找模型中指定的验证属性,并显示适当的错误消息。 如果您想要在后面更改验证逻辑,您可以做在一个地方,将验证信息添加到模型上。 (此示例中,是movie 类)。...例如,下面的代码总是显示一个客户端验证错误,即使当日期是在指定的范围内: [Range(typeof(DateTime), "1/1/1966", "1/1/2020")] 你可能会禁用jQuery的日期校验

9.1K70

Asp.Net MVC4入门指南(8):给数据模型添加校验器

Title 和Genre 字段不再可以为 null (即,您必须输入一个值) 并且Rating 字段具有最大长度是 5。 验证属性将指定一个验证行为,这样您可以指定模型中的那个属性需要被强制验证。...上面的顺序将触发必需的验证,而并不需要点击提交按钮。在不输入任何字段的情况下,直接点击提交按钮,将触发客户端验证。直到没有客户端验证错误的情况下,表单数据才会发送到服务器。...它们是之前教程中自动生成的,并没有修改。...调用此方法将验证对象上所有应用了验证约束的属性。如果对象含有验证错误,则Create方法会重新显示初始的form。如果没有任何错误,方法将保存信息到数据库。...这两个Helper方法将处理由控制器传递到视图的模型对象(在这里是,Movie对象)。它们会自动查找模型中指定的验证属性,并显示适当的错误消息。

4.7K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ASP.NET MVC下的四种验证编程方式

    ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定。...我们在一个ASP.NET MVC应用中定义了如下一个Person类作为被验证的数据类型,它的Name、Gender和Age三个属性分别表示一个人的姓名、性别和年龄。...)) 32: { 33: ModelState.AddModelError("Gender", "'Gender'是必需字段"); 34:...41: { 42: ModelState.AddModelError("Age", "'Age'是必需字段"); 43: } 44:...如果数据成员没有通过验证,我们通过一个ValidationResult对象封装错误消息和数据成员名称(属性名),该方法最终返回的是一个元素类型为ValidationResult的集合。

    1.5K80

    ASP.NET Core教程【三】实体字段属性、链接标签、并发数据异常、文件上传及读取

    /overview/older-versions/mvc-music-store/mvc-music-store-part-6 链接标签 在上一篇文章中我们简单说了一下链接标签,再来看第一章中提到的这个场景...href属性,现在不用了,可以分开写,代码更优雅; 上面的代码,编译后生成的href属性的值是这样的: http://localhost:5000/Movies/Details?...如果这个时候你请求这个地址: http://localhost:5000/Movies/Details 并没有传入ID的值,那么服务器会返回404, 如果你的设计是希望ID是一个可选的传入参数,那么你可以把...,UploadPublicSchedule是一个IFormFile类型的字段; 当表单提交后,ASP.NET CORE 也会把文件流绑定到这个字段上; 如果上传的是一个文本文件,那么我们看看怎么直接读取这个文本文件...); 其中ModelState是PageModel特有的属性 在本示例中,用于给页面添加错误信息~

    1.6K60

    MVC3教程之实体模型和EF CodeFirst

    你可以通过访问这些类的方式来访问数据库,这是一种非常方便快捷的开发模式。 1.添加一个Model   添加Model和添加普通类的操作是一样的,默认的约定是将它放在Models文件夹中。...3.添加数据库连接   由于我们创建的是空的Mvc项目,所以在Web.config文件中,不包含任何的数据库连接字符串,我们打开Web.config文件,为它添加一个数据库连接字符串的配置: 会添加一个BookController的文件,该文件处于打开状态。...尽管没有数据,但EF已经为我们创建了相应的数据库。   5.增加Create视图   “增加图书”连接需要我们有一个Create控制器和与之对应的视图。...@using (Html.BeginForm()){ }:创建一个Form表单,在表单中包含了对于Book类所生成的对应字段。

    1.3K20

    七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理

    ,实验8中讲解一个关于数据库和数据库层的实例。...EF提供了三种方式来实现项目: l 数据库优先方法——创建数据库,包含表,列以及表之间的关系等,EF会根据数据库生成相应的Model类(业务实体)及数据访问层代码。...这些类之间的关系使用代码定义。当应用程序首次执行时,EF将在数据库服务器中自动生成数据访问层以及相应的数据库。 什么是POCO类?...使用Form 标签来生成请求,与通过浏览器地址栏或超链接来生成请求,有什么区别? 使用Form标签生成请求时,所有有关输入的控件值会随着请求一起发送。 输入的值是怎样发送到服务器端的?...同一时间可能会接收到多个值,为了区分发送到所有值为每个值附加一个Key,这个Key在这里就是名称属性。 名称和 Id的作用是否相同?

    5.3K100

    从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之二 || 后端项目搭建

    get 操作 /api/v1/love/1我们获取到一个 ID 为 1 的数据,数据一般为一个对象,里面包含了 1 的各项字段信息。...所以这是一个客户端发生的错误, 程序为让客户端知道是它引起了错误, 就应该返回一个Bad Request 400 (Bad Request表示客户端引起的错误)的 Status Code....但是如果body数据的属性有问题, 比如说name没有填写, 或者name太长, 那么在执行action方法的时候就会报错, 这时候框架会自动抛出500异常, 表示是服务器的错误, 这是不对的....= newProduct.Id }, newProduct); } ModelState: 是一个Dictionary, 它里面是请求提交到Action的Name和Value的对们,...下一节我们就使用一个神器 Swagger,一个快速,轻量级的项目RESTFUL接口的文档在线自动生成+功能测试功能软件。

    1.1K20

    MVC Code First (代码优先)

    EF会检查当前的数据连接指定的数据库是否被创建,假设没有则有EF负责依据实体模型类创建数据库、数据表;假设存在,EF会将查询条件加入到Sql查询语句,再将Sql语句发送到数据库进行数据读取。...验证中全部属性验证成功ModelState.IsValid等于true,仅仅要有一个验证不成功ModelState.IsValid就等于false 所以我们能够通过该属性来推断数据的有效性,但有时在数据验证时有时我们不须要验证全部的数据...使用下面方法能够排除要验证的字段:ModelState.Remove("Email");不验证Email。...这样Email这个字段就不会被验证了,Email验证不通过ModelState.IsValid的值仍然是true if (ModelState.IsValid)...public ActionResult Details(int id) { //Find()是返回满足条件的第一个元素(即:Books中 BookID的的值为id的Book

    89410

    ASP.NET MVC5高级编程——(3)MVC模式的模型

    这是为了给EF框架提供一个钩子,即方便模型到数据库的映射,不理解就记住,后面的项目会详细讲解。 从上面三个类的代码可以看到,红色标记的是主键,而黄色的就是外键。...5 什么是实体框架,什么是代码优先和数据上下文? 新建的ASP.NET MVC5项目会自动包含对实体框架(EF)的引用。...如果EF能够连接上数据库服务器,但找不到数据库,那么框架会自动创建一个数据库。 注意自动生成的数据库的名字和数据上下文类同名。这个数据库其实是虚拟的,它在项目的App_Data文件夹下: ?...模型绑定数据验证:ASP.NET MVC在处理模型绑定时,会处理Model的数据验证。模型绑定的数据验证失败,则Controller的ModelState.IsValid验证值为false。 ?...可以使用ModelState.AddModelError()方法在Controller中判断更加复杂的业务逻辑,并自定义错误信息至ModelState。 ?

    4.8K40

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    ActionLink是一个帮助方法(Helper),便于动态生成指向Controller中操作方法 的HTML 超链接链接。...最后一个参数是一个匿名对象(anonymous object),用来生成路由数据 (在本例中,ID 为 4 的)。...数据保存之后,代码会把用户重定向到MoviesController类的Index操作方法,页面将显示电影列表,同时包括刚刚所做的更新。 一旦客户端验证确定某个字段的值是无效的,将显示出现错误消息。...如果禁用JavaScript,则不会有客户端验证,但服务器将检测回传的值是无效的,而且将重新显示表单中的值与错误消息。在本教程的后面,我们验证更详细的审查。...前几行的代码会创建一个List对象来保存数据库中的电影流派。 下面的代码是从数据库中检索所有流派的 LINQ 查询。

    6.7K110

    【 .NET Core 3.0 】框架之二 || 后端项目搭建

    () ;下去,返回的时候,正好是反向的,执行的是该类的逻辑部分: 4、AOP切面 5、整体框架结构与数据库表UML 一、创建第一个Core 说了从零开始,就得从零开始,老生常谈,开始。...所以这是一个客户端发生的错误, 程序为让客户端知道是它引起了错误, 就应该返回一个Bad Request 400 (Bad Request表示客户端引起的错误)的 Status Code....但是如果body数据的属性有问题, 比如说name没有填写, 或者name太长, 那么在执行action方法的时候就会报错, 这时候框架会自动抛出500异常, 表示是服务器的错误, 这是不对的....= newProduct.Id }, newProduct); } ModelState: 是一个Dictionary, 它里面是请求提交到Action的Name和Value的对们...下一节我们就使用一个神器 Swagger,一个快速,轻量级的项目RESTFUL接口的文档在线自动生成+功能测试功能软件。

    1.9K20

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具 经过一个多星期的努力总算完成了单表,多表关联(一对多,多对一)的增删改查的代码生成...下个阶段打算集成.net 4.5的认证和授权已经用户注册和角色管理 一旦有更好的方式我会把它集成到模板中实现自动生成。所以很希望得到大家的帮助。在这里我先抛砖引玉了。...asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与) Demo和所有源代码代码在 https://github.com/neozhu/MVC5-Scaffolder...文本框中输入关键字会根据后台每个字段的查询,选择需要显示的字段 ?...功能: 加载数据:会根据主从关系把表头/表体的数据一次性加载 编辑数据:对表体明细的的操作类似新增页面,但对表体进行删除操作时会进行提示是否真的要删除后台数据。

    1.4K130

    ASP.NET MVC学习笔记06编辑方法和编辑视图

    上一篇中,说到了MVC生成的Index方法,和Details方法,现在来说一下自动生成的方法和视图,应该怎么的来进行编辑。...@Html.ActionLink("Edit", "Edit", new { id=item.ID }) Html对象是一个 Helper, 以属性的形式在System.Web.Mvc.WebViewPage...最后一个参数是一个匿名对象 (anonymous object),用来生成路由数据 (在上图中,ID 为1 的)。...数据保存之后,代码会把用户重定向到 MoviesController类的Index操作方法,页面将显示电影列表,同时包括刚刚所做的更新。 一旦客户端验证确定某个字段的值是无效的,将显示出现错误消息。...前几行的代码会创建一个 List对象来保存数据库中的电影流派。

    5K50

    让我们的ASP.NET MVC应用可以单独维护验证消息

    但是资源文件的每个条目仅仅是简单的键-值对,只能存储消息的文本值而已,在我们的项目开发中使用的是专门的一个维护消息的组件。...GetMessage方法根据指定的消息ID和替换站位符的对象数组格式化一个完成得消息文本。...我们仅仅定义了一个将消息ID和替换站位符的对象数组作为参数的构造函数,而该构造函数直接调用基类包含Func参数的构造函数。...和RangeAttribute 接下来我们来演示如何定义具体的ValidationAttribute,我们以用于验证必需字段/属性和值范围的RequiredAttribute和RangeAttribute...具体的验证规则是:名称是必需的,年龄必须大于18周岁而体重不得终于160斤。表示验证消息的ID和站位符对象数组作了相应的设置。

    71470

    .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记

    模型绑定 什么是模型绑定 来源有哪些 复杂的数据绑定 ASP.NET Core 中的模型绑定:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/models...view=aspnetcore-5.0 什么是模型绑定 控制器和 Razor 页面处理来自 HTTP 请求的数据。例如,路由数据可以提供一个记录键,而发布的表单域可以为模型的属性提供一个值。...更新复杂类型的属性。 来源有哪些 [FromQuery] -从查询字符串获取值。 [FromRoute] -从路由数据中获取值。 [FromForm] -从已发布的表单字段中获取值。...] string termId) { return Ok(new {id, name, termId}); } 从已发布的表单字段中获取值 [HttpPost] [Route("option/...模型验证的特性与消息 FluentValidation 什么是模型验证 ASP.NET Core MVC 和页面中的模型验证 Razor:https://docs.microsoft.com/zh-cn

    2.5K10

    .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记

    view=aspnetcore-5.0 什么是模型绑定 控制器和 Razor 页面处理来自 HTTP 请求的数据。 例如,路由数据可以提供一个记录键,而发布的表单域可以为模型的属性提供一个值。...更新复杂类型的属性。 来源有哪些 [FromQuery] -从查询字符串获取值。 [FromRoute] -从路由数据中获取值。 [FromForm] -从已发布的表单字段中获取值。...] string termId) { return Ok(new {id, name, termId}); } 从已发布的表单字段中获取值 [HttpPost] [Route("option/from...模型验证的特性与消息 FluentValidation 什么是模型验证 ASP.NET Core MVC 和页面中的模型验证 Razor:https://docs.microsoft.com/zh-cn...[Range]:验证属性值是否在指定的范围内。 [RegularExpression]:验证属性值是否与指定的正则表达式匹配。 [Required]:验证字段是否不为 null。

    2.6K11
    领券