小编kri*_*ish的帖子

我需要在 ASP.Net core Web API 的验证属性中返回自定义的验证结果(响应)

我需要在 ASP.Net core Web API 中返回自定义的验证结果(响应)失效属性,这是我创建的 ValidationAttribute。

class MaxResultsAttribute : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        int maxResults = (int)value;

        if (maxResults <= 0)
        {
            return new CustomValidationResult(new ValidationResult("MaxResults should be greater than 0"));
        }

        return ValidationResult.Success;
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建了继承 ValidationResult 的 CustomValidationResult 对象,以便我可以返回我自己的自定义响应:

public class CustomValidationResult : ValidationResult
{
    public int FaultCode { get; set; }

    public string FaultMessage { get; set; }

    public CustomValidationResult(ValidationResult validationResult) : base(validationResult)
    {
        FaultCode = 123;
        FaultMessage = validationResult.ErrorMessage; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net validationattribute asp.net-web-api asp.net-core

5
推荐指数
1
解决办法
8379
查看次数