我们有以下
public class Model
{
[Required]
public decimal Cost { get;set; }
}
当我们收到无效值时,例如“dasd”或其他任何值,我返回一个 BadRequest:
public HttpResponseMessage Post(Model data)
{
if (!ModelState.IsValid)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
return Request.CreateResponse(HttpStatusCode.OK);
}
但在响应中,json 看起来像:
{
"message": "The request is invalid.",
"modelState": {
"data.cost": ["Could not convert string to decimal: dasd. Path 'cost', line 1, position 181."],
}
}
首先,我怎样才能摆脱数据。字首?
另外,我想实现一个自定义验证器,比如 MustBeDecimal 属性,它可以让我返回更多用户友好的错误消息。