asp.net-mvc – 在null模型的情况下返回错误响应
发布时间:2020-05-28 14:34:29 所属栏目:asp.Net 来源:互联网
导读:在我的ASP.NET MVC API应用程序中,如果缺少一些必需字段,我可以返回一个有用的ErrorResponse: return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); – Message: The request is invalid., ModelState: {
|
在我的ASP.NET MVC API应用程序中,如果缺少一些必需字段,我可以返回一个有用的ErrorResponse: return Request.CreateErrorResponse(HttpStatusCode.BadRequest,ModelState); – "Message": "The request is invalid.","ModelState": {
"myModel.FooA": [
"The FooA is required."
],"myModel.FooC": [
"The FooC property is required."
],"myModel.FooD": [
"The FooD property is required."
]
}
但是,当this answer确认时,NULL模型将验证.由于我不允许这样做,如何返回一个同样有用的错误响应,说明所需的所有值?我知道我可以为每个属性手动添加ModelError,但我怀疑CreateErrorResponse可能有一种方法可以为我做这个. 解决方法你使用的是mvc3还是web-api?你的标签表明你正在使用mvc,但你的开头句意味着web-api.如果使用mvc3,您可以使用以下内容:在调用ModelState.IsValid之前在控制器中添加: if (modelObj == null)
{
ModelState.Clear();
var blankModel = new MyClass();
TryValidateModel(blankModel);
return View("About",blankModel);
}
如果您正在使用web-api并假设您正在使用System.ComponentModel.DataAnnotations,则可以使用以下命令: ModelState.Clear();
var model = new MyClass();
var results = new List<ValidationResult>();
Validator.TryValidateObject(model,new ValidationContext(model,null,null),results,true);
var modelState = new ModelStateDictionary();
foreach (var validationResult in results)
modelState.AddModelError(validationResult.MemberNames.ToArray()[0],validationResult.ErrorMessage);
return Request.CreateErrorResponse(HttpStatusCode.BadRequest,modelState); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – asp.net mvc区域的默认页面
- asp.net-mvc – 在MVC4中为ViewModel设置默认值的适当方法?
- asp.net-mvc – ASP.NET MVC检查角色里面的视图
- ASP.NET多线程如何?
- asp.net-web-api – 在WebApi2帮助页面中启用文档
- asp.net – 哪些移动浏览器支持javascript(和Ajax)?
- asp.net-mvc – 在应用程序洞察中设置用户名
- asp.net – 如何将http请求转发到https网址
- asp.net – 仅用于字母和数字的正则表达式验证器
- asp.net – 为什么在设置@Page masterPageFIle时不暗示@Mas
推荐文章
站长推荐
- asp.net-mvc-4 – Autofac和ASP .Net MVC 4 Web
- asp.net-mvc – ASP.NET MVC如何知道方法是一种动
- asp.net-mvc – 不一致的可访问性:DbContext中的
- asp.net – 想要在ModalPopExtender之上显示Upda
- asp.net – 如何添加ROW_NUMBER到LINQ查询或实体
- 什么是IIS和Asp.Net中的应用程序池?
- asp.net – IE 11中的报表查看器打印按钮
- asp.net-membership – MiniProfiler和SqlMember
- 如何在ASP.NET MVC网站中为cookie设置“安全”标
- F#和ASP.NET
热点阅读
