我的自定义验证错误信息[编辑:原代码段是不正确的。]C#帮助寻找从物业饰RequiredAttribute标签
本帖被intented帮助回答具体的问题,我有,我发现了一个伟大回答。我链接到我的示例帖子,后面跟着我的帖子,给了我答案。然后,我发布了我成功使用的代码,以生成我实现的结果。]
我在验证中实现了一个简单的技术,用于输入到ApiController。下面的代码是可用的,但是你可以看到它只提供了一个通用的错误信息。
我发现来指导我这个技术答案就在这里找到:https://stackoverflow.com/a/19322688/7637275
以下是我的代码,我开始 -
using System.Web.Http;
using System.Web.Routing;
using System.Web.Http.Controllers;
using System.Web;
using System.Web.Http.Filters;
namespace TestValidation
{
internal class ValidateModelStateFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
throw new HttpException(422, "Validation failed on input");
}
}
}
}
下面的片断显示我需要验证错误请参阅,而不是上面提到的通用消息。
[Required(ErrorMessage = @"Parameter ""ID"" is required.")]
[MaxLength(18, ErrorMessage = @"Exceeded max length (18 characters) for parameter ""ID""")]
public string ID { get; set; }
此时,我的覆盖范围内,我需要深入的HttpActionContent对象“ActionContext中”找到自定义错误消息。