`

ModelState模型验证的错误抛出

C# 
阅读更多

       常常遇到模型验证,通常是模型验证不通过之后,直接return一个结果出来:如

if(! ModelState.IsValid)
{
     return ......... 
}

     现在做一个模型验证不通过之后,把错误给抛出来

 if (! ModelState.IsValid)
{ 
    var errs=new List<string>();
    foreach(var state in ModelState)
   {
       foreach (var err state.Value.Errors )
      {
          errs.Add(err.ErrorMessage);//把错误添加到数组里
      }
    }
   string p=string.Jion("",errs.ToArray());
   throw new HttpException(p);
}

 

分享到:
评论

相关推荐

    只依赖于Model的验证

    如果属性值为null或空字符串,验证会失败,从而抛出一个异常或者返回错误消息。 2. `[StringLength]`:这个特性不仅可以检查字符串的最小长度,还可以设置最大长度。例如,`[StringLength(10, MinimumLength = 5)]`...

    filter.rar

    如果模型数据不满足预先定义的验证规则(例如,使用了`[Required]`, `[StringLength]`, `[RegularExpression]`等数据注解),系统会自动抛出一个`ModelStateInvalidException`异常。 接下来,`...

    构建简单的web自动化测试模型

    自动化测试能够帮助我们更高效、准确地验证Web应用的功能,减少人工测试的时间成本和错误率。本文主要介绍如何通过合理的架构设计和技术选型,构建出一个既简单又能有效覆盖测试需求的框架。 #### 三、关键概念解析...

    WebApiClient的接口输入验证方法

    在ASP.NET MVC框架中,模型绑定会自动应用这些验证特性,检查数据是否有效,并将验证结果存储在控制器的ModelState对象中。 3. **接口参数值的输入验证** WebApiClient通过Validator类实现了接口参数的输入验证。...

    asp.net core MVC 过滤器之ActionFilter过滤器(2)

    常规做法是在每个Action方法中检查ModelState.IsValid属性,如果不合法则返回错误响应。使用ActionFilter过滤器,开发者可以将这部分重复的验证逻辑放入过滤器中,从而避免在每个Action中重复相同的代码。 实现...

    Web Api使用详解(全部实例讲解,可直接运行看效果).rar.rar

    - `HttpResponseException`用于抛出HTTP错误状态码。 - 可以使用全局异常过滤器捕获并处理未预期的异常。 9. **部署与测试**: - 可以部署到IIS服务器或Azure云平台。 - 使用Postman、Fiddler等工具进行API测试...

    WebAPIDemo

    Web API提供了处理错误的机制,如使用`HttpResponseException`抛出HTTP错误状态码,或者使用全局错误处理过滤器。 10. **依赖注入(DI)**:为了实现松耦合和更好的可测试性,"WebAPIDemo"可能使用了依赖注入框架,...

    spring3.0 mvc和rest入门例子

    通过`@Valid`注解,可以在方法参数上进行数据验证,如果验证失败,Spring会自动抛出异常。 7. **测试**:Spring MVC 提供了`MockMvc`工具,可以方便地进行单元测试和集成测试,模拟HTTP请求并验证响应。 在压缩包...

    C# rest协议代码

    可以使用全局错误处理中间件,或者在控制器中抛出并捕获异常。 10. **版本控制(Versioning)** 随着API的发展,版本控制变得至关重要。ASP.NET Core提供了多种版本控制策略,如URL路径、查询字符串参数或请求头。...

    android_springrestful工具包

    9. **错误处理**:良好的错误处理机制是必不可少的,包括在服务端抛出异常时返回合适的HTTP状态码,以及在客户端捕获这些异常并提供友好的用户反馈。 10. **单元测试与集成测试**:Spring框架支持JUnit和Mockito等...

    解决Keyerror &#39;&#39;acc&#39;&#39; KeyError: &#39;&#39;val_acc&#39;&#39;问题

    当你的代码试图访问这些键但它们不存在于`history.history`字典中时,就会抛出`KeyError`异常。 #### 解决方法 1. **检查Keras版本**: - 首先,确保你正在使用的Keras版本与你的代码兼容。可以使用以下命令来...

    ASP.NET面试宝典

    - throw语句用于抛出异常。 #### 4. LINQ - **Language Integrated Query**:一种用于查询数据的强大工具。 - 支持对不同数据源执行一致的查询操作,如数组、列表和数据库。 ### 结论 ASP.NET作为一种广泛使用的...

    互联网高频Java后端面试题20道(适合1~3年)V1.0.80.docx

    try 块用于包裹可能会抛出异常的代码,当异常发生时,控制流会立即转到相应的 catch 块。catch 块用于捕获并处理特定类型的异常,可以有多个 catch 块来处理不同类型的异常。finally 块包含清理代码,无论是否发生...

    spring-mvc-review:Spring MVC评论

    6. **异常处理**:通过 `@ExceptionHandler` 或自定义异常解析器,Spring MVC 提供了优雅的异常处理机制,能够统一处理应用程序中抛出的异常。 7. **拦截器**:Spring MVC 中的拦截器可以预处理请求和后处理响应,...

    JAVA程序员面试问题

    在try块中放置可能抛出异常的代码,在catch块中捕获并处理特定类型的异常,finally块则包含无论如何都需要执行的代码,如关闭资源。Java还有自定义异常的能力,允许开发者定义自己的异常类,以更精确地描述和处理...

    angularJS开发注意事项

    然而,如果脏检查已经在进行中,直接调用`apply()`可能会抛出错误。 2. `digest()`方法:类似于`apply()`,但`digest()`只在其当前作用域内运行,相对而言更为轻量。如果你知道你正在处理的是局部变化,这可能是更...

    基于Codeigniter框架实现的student信息系统站点动态发布功能详解

    而在SQL语句前使用`IF NOT EXISTS`可以确保在数据库表已存在的情况下不会抛出错误。`ENGINE=INNODB`指定了表的存储引擎为InnoDB,它支持事务处理,适合于大型网站。数据库编码选择`UTF8`,保证了多语言支持。创建表...

    一个优秀的ASP.NET(及WinForm)开发人员需要知道

    throw 用于抛出异常,而 throw e 则用于重新抛出捕获的异常,这对于日志记录非常有用。 **4.8 typeof(foo) 与 myFoo.GetType() 的区别** typeof(foo) 返回 foo 类型的信息,而 myFoo.GetType() 返回 myFoo 对象的...

    spring-boot:SpringREST服务

    6. **异常处理**:Spring Boot提供全局异常处理,通过@ControllerAdvice和@ExceptionHandler注解,可以统一处理所有控制器中抛出的异常。 7. **HATEOAS(Hypertext As The Engine Of Application State)**:...

Global site tag (gtag.js) - Google Analytics