У нас есть приложение webapi, и мы должны проверить, заполнено ли свойство для типа роли пользователя, поэтому нам нужен доступ к сервису, чтобы получить userRoles.
Мы создаем модель со свойством, таким какэто:
[RequiredIf(RoleEnum.Test)]
public string reason {get; set;]
и RequiredIfAttribute
это:
public class RequiredIfAttribute : RequiredAttribute
{
public IUserService UserService { get; set; }
private readonly RoleEnum roleRequired;
public RequiredIfAttribute(RoleEnum roleRequired)
{
this.roleRequired = roleRequired;
}
protected override ValidationResult IsValid(object value, ValidationContext context)
{
var currentUser = UserService.GetCurrentUser();
}
}
Как впрыскивать IUserService
в RequiredAttribute
?
Я впрыскиваю в ActionFilterAttribute
сне знаю, но я не знаю, как вводить в RequiredAttribute
.