ASP.NET MVC控制器里捕获视图的错误验证信息(ErrorMessage)

ViewModel类:

    /// <summary>
    /// 评论用验证视图
    /// </summary>
    public partial class VCreateShopComment
    {
        [Required(AllowEmptyStrings = false, ErrorMessage = "旺旺是必须的")]
        public string WW { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "必须评论")]
        [StringLength(200, ErrorMessage = "评论内容不能超过{0}字")]
        public string CommentText { get; set; }

        [Range(1, 5, ErrorMessage = "评分要在{1}到{2}之间")]
        public short Score { get; set; }

        //[Range(0, int.MaxValue, ErrorMessage = "您的账户无效")]
        public int ID{ get; set; }

    }

控制器

[HttpPost]
public ActionResult Add(VCreateShopComment v)
        {

   if (ModelState.IsValid)
            {
              //做爱做的事
            }
            StringBuilder sb = new StringBuilder();
            var errors = ModelState.Values;
            foreach (var item in errors)
            {
                foreach (var item2 in item.Errors)
                {
          if (!item2.ErrorMessage.IsNullOrWhiteSpace())
                   {
                       sb.AppendLine(item2.ErrorMessage + "<br />");
                   }
} } return Content(sb.ToString()); }

错误的输出用2次遍历就行了,前提是,对于每个验证特性ErrorMessage 是要有的

时间: 2024-11-08 21:00:17

ASP.NET MVC控制器里捕获视图的错误验证信息(ErrorMessage)的相关文章

.Net Framework 4.5.1 ASP.NET MVC 5 下新建视图报“错误 运行所选代码生成器时出错 无法检索元数据 没有为该对象定义无参数构造函数”

当在控制器中新建视图的时候,选择的视图界面如下: 执行添加后报如下错误: 错误的内容为: 错误运行所选代码生成器时出错 无法检索"XXX"的元数据没有为该对象定义无参数构造函数 Unable to retrieve metadata for 'XXX'. No parameterless constructor defined for this object. 这个错误一直误导我,以为是模型类的问题,找了半天找不到解决方法,郁闷到死,后来发现是数据上下文的问题. 想到解决方案使用的是D

ASP.NET MVC项目里创建一个aspx视图

先从控制器里添加视图 视图引擎选"ASPX(C#)",使用布局或模板页不要选. 在Views\EAV目录里,生成的aspx是个单独的页面,没有代码文件,所以代码也要写在这个文件里. @ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" @ Import Namespace="System" @ Import Namespace="

ASP.NET MVC 控制器(二)

ASP.NET MVC 控制器激活(二) 前言 在之前的篇幅中,用文字和图像来表示了控制器的激活过程,描述的角度都是从框架默认实现的角度去进行描述的,这样也使得大家都可以清楚的知道激活的过程以及其中涉及到的对象模型,今天的篇幅就是在激活的过程中,框架提供了哪些可注入点,站在一个使用者的角度来进行描述. 激活控制器-注入点入口 如上图,这是上个篇幅中描述的控制器激活过程图,这里引用过来是怕有的朋友忘记了前面的所说和没看过前面篇幅的朋友. 就从默认控制器工厂的实现来看,在CreateControll

Asp.Net MVC 控制器

原文链接:http://www.asp.net/learn/mvc/ 这篇教程探索了ASP.NET MVC控制器(controller).控制器动作(controller action)和动作结果(action results)这几个主题.在读完本篇教程之后,你将会理解控制器如何控制访问者与ASP.NET MVC网站进行交互的方式. 1.理解控制器 MVC控制器负责响应对ASP.NET MVC网站发起的请求.每一个浏览器请求都映射到了一个专门的控制器.举个例子,设想一下你在浏览器地址栏输入了下面

学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器

MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑.MVC是一种具有可测试性和易于维护的应用程序开发模式. 基于MVC的应用程序应该包含以下内容: ?模型:表示应用程序核心,是该应用程序中用来进行校验.执行业务逻辑的数据类,业务实体对象. ?视

007.ASP.NET MVC控制器依赖注入

原文链接:http://www.codeproject.com/Articles/560798/ASP-NET-MVC-Controller-Dependency-Injection-for-Be 前言:在这篇文章中,我将通过一个demo,直截了当地说明依赖注入在MVC框架中的使用. 内容列表: 1.介绍 2.为什么使用控制器依赖注入 3.控制器静态结构 4.自定义控制器 5.Framework中控制器的创建 6.为什么使用控制器工厂模式 7.控制器工厂模式 7.1.目标1 7.2.目标2 8.

ASP.NET MVC传递Model到视图的多种方式总结

ASP.NET MVC传递Model到视图的多种方式总结 有多种方式可以将数据传递到视图,如下所示: ViewData ViewBag PartialView TempData ViewModel Tuple 场景: 在视图页面,下拉框选择课程触发事件,分别显示老师课程表.学生上课表,如图: 相关的Model: 1 public class Course 2 { 3 public int Id { get; set; } 4 public string Name { get; set; } 5

ASP.NET MVC 控制器通过继承控制器来达到 过滤 并且多了一个IAuthenticationFilter

原文:ASP.NET MVC 控制器通过继承控制器来达到 过滤 并且多了一个IAuthenticationFilter 暂时没有用到过这个IAuthenticationFilter接口,毕竟已经有三个具体实现类了,所以这个还不知道用在哪,以后看看 20190324 原文地址:https://www.cnblogs.com/lonelyxmas/p/10597461.html

ASP.NET MVC传递Model到视图的多种方式之通用方式的使用

ASP.NET MVC传递Model到视图的多种方式总结——通用方式的使用 有多种方式可以将数据传递到视图,如下所示: ViewData ViewBag PartialView TempData ViewModel Tuple 场景: 在视图页面,下拉框选择课程触发事件,分别显示老师课程表.学生上课表,如图: ? 相关的Model: 1 public class Course 2 { 3 public int Id { get; set; } 4 public string Name { get