.Net Core MVC中的模型绑定、验证以及ModelState.IsValid的使用

Require就是说这个属性不能为空,EmailAddress就是说这个属性值必须符合一个Email地址格式。

[Required(ErrorMessage ="尚有未填写项,请先完善")]
        public string Name { get; set; }
        [Required(ErrorMessage = "尚有未填写项,请先完善")]
        [EmailAddress(ErrorMessage ="邮箱格式错误")]
        public string Email { get; set; }

ModelState.IsValid的作用:校验属性的值是否符合属性上特性标签的校验,默认值为True。

验证失败,捕获验证不通过 的错误方法

if (!ModelState.IsValid)
            {
                foreach (var key in ModelState.Keys)
                {
                    var modelstate = ModelState[key];
                    if (modelstate.Errors.Any())
                    {
                        return modelstate.Errors.FirstOrDefault().ErrorMessage;
                    }
                }
            }

原文地址:https://www.cnblogs.com/yuan-3618/p/10394817.html

时间: 2024-12-15 13:22:39

.Net Core MVC中的模型绑定、验证以及ModelState.IsValid的使用的相关文章

asp.net mvc 中的模型绑定

在asp.net MVC 应用程序, 表单提交的数据通过模型绑定将数据从View传递到控制器中.使用模型绑定显然比Request.Form["Price"] ,Decimal.Parse(Request.Form["Price"] )还需要手动类型转换要要方便很多. 模型绑定有两种,隐式绑定和显式绑定. 1.隐式模型绑定.先将表单值转化为CLR 类型,然后以表单字段name名称,value值参数传递到Action中.为了防止过度提交,使用Bind(Include)属

Spring MVC系列之模型绑定(SpringBoot)(七)

前言 上一节我们在SpringBoot中启用了Spring MVC最终输出了HelloWorld,本节我们来讲讲Spring MVC中的模型绑定,这个名称来源于.NET或.NET Core,不知是否恰当,我们暂且这样理解吧. @RequestParam VS  @PathVariable 一看注解名称应该非常好理解,注解@RequestParam主要用来获取查询字符串参数,而注解@PathVaruable用于获取路由参数,下面我们来看如下一个例子: @ResponseBody @RequestM

asp.net core mvc中如何把二级域名绑定到特定的控制器上

由于公司的工作安排,一直在研究其他技术,所以一直没时间更新博客,今天终于可以停下手头的事情,写一些新内容了. 应用场景:企业门户网站会根据内容不同,设置不同的板块,如新浪有体育,娱乐频道,等等.有的情况下需要给不同的板块设置不同的二级域名,如新浪体育sports.sina.com.cn. 在asp.net core mvc中,如果要实现板块的效果,可能会给不同的板块建立不同的控制器(当然也有其他的技术,这里不讨论实现方式的好坏),在这种情况下,如何给控制器绑定上独有的二级域名,比如体育频道对应的

Asp.Net MVC在过滤器中使用模型绑定

废话不多话,直接上代码 1.创建MVC项目,新建一个过滤器类以及使用到的实体类: 1 public class DemoFiltersAttribute : AuthorizeAttribute 2 { 3 public override void OnAuthorization(AuthorizationContext filterContext) 4 { 5 var person = new Person(); 6 //过滤器中使用模型绑定 7 BindModel<Person>(filt

ASP.NET MVC 4 (九) 模型绑定

模型绑定指的是MVC从浏览器发送的HTTP请求中为我们创建.NET对象,在HTTP请求和C#间起着桥梁的作用.模型绑定的一个最简单的例子是带参数的控制器action方法,比如我们注册这样的路径映射: routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Inde

[转]ASP.NET MVC 4 (九) 模型绑定

本文转自:http://www.cnblogs.com/duanshuiliu/p/3706701.html 模型绑定指的是MVC从浏览器发送的HTTP请求中为我们创建.NET对象,在HTTP请求和C#间起着桥梁的作用.模型绑定的一个最简单的例子是带参数的控制器action方法,比如我们注册这样的路径映射: routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: n

007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】

Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing views and layout pages 修改视图和布局页 2.Change the title and menu link in the layout file 在布局文件中修改标题与菜单 3.Passing Data from the Controller to the View 从控制器向视图

菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options

命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来,我们可以直接添加Microsoft.AspNetCore.All 安装完成之后,我们可以通过using Microsoft.Extensions.Configuration;来进行后续的配置 static void Main(string[] args) { var builder = new Con

ASP.NET Core MVC中URL和数据模型的匹配

Http GET方法 首先我们来看看GET方法的Http请求,URL参数和ASP.NET Core MVC中Controller的Action方法参数匹配情况. 我定义一个UserController,其中有一个只接受GET请求的Action方法GetDataInPage public class UserController : Controller { [HttpGet] public IActionResult GetDataInPage(string languageCode, int