На днях возникла задача на проверку входных данных от пользователей: запретить отступы у строковых данных в начале и в конце. Модель большая, делать у каждого свойства типа string что-то в стиле
Name=model.Name.IfNotNull(x=>x.Trim())
не хотелось. По этому пришлось поискать в интернете. Наткнулась на фильтр, который переписывает request модель в web-api-добавляет определенный данные, причем сам тип модели не известен. Немного переделав код, получился вот такой фильтр:
public class TrimFieldFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
foreach (var keyValuePair in actionContext.ActionArguments)
{
var model = actionContext.ActionArguments[keyValuePair.Key];
if (model == null)
continue;