Мне нужно вернуть настроенные атрибуты недействительности результата проверки (ответа) в основном веб-API ASP.Net. Это созданный мной 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;
}
}
Я создал объект CustomValidationResult, наследующий ValidationResult, чтобы я мог вернуть свой собственный настроенный ответ:
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;
}
}
Но это не работает, мне нужно вернуть свой собственный ответ об ошибке
Фактический ответ:
{
"MaxResults": [
"MaxResults should be greater than 0"
]
}
Ожидаемый ответ:
{
"code": "55",
"message": "The following validation errors occurred: MaxResults should be greater than 0"
}