我们有一个名为Modelstate的东西,它返回一个ModelStateDictionary 我发现我们可以在我们的模型属性上放置一些属性并检查ModelState.IsValid和如果需要某些东西并且为null 当我们返回模型状态时它显示错误,我想要的是想要使用该属性并检查ModelState.IsValid 但我想返回我的返回类型格式
我对api的输入是:
public class Input
{
[Required]
public string Name { get; set; }
[Required]
[Range(500, 50000)]
public int AccountBalance{ get; set; }
}
我的api输出如下:
public class Output
{
public string ErrorDetail { get; set; }
public int ErrorCode { get; set; }
}
在我的控制器中我想检查验证
if (!ModelState.IsValid)
{
//based on which property has problem I want to decide about the return
//error code
return new Output
{
Description = "error about name",
ErrorCode = "1020"
}
}
有没有办法以干净的方式做到这一点?
答案 0 :(得分:0)
只需使用Content<T>
的{{1}}方法:
ApiController
协商内容并返回提供的HTTP状态代码。
请注意,if (!ModelState.IsValid)
{
return Content(HttpStatusCode.BadRequest, new Output
{
ErrorDetail = "error about name",
ErrorCode = "1020"
});
}
是在请求无效时使用的常见HTTP错误状态代码(例如,验证失败)。