Search code examples
c#angularjsasp.net-mvcfluentvalidation

How to use FluentValidation in a generic way with DI in MVC controllers


I implemented fluent validation rules. I am sending a request to my controller api endpoint via angular request in json format.

When I receive data and model parameter is populated I want to use fluent validation to validate sent data.

    [Route("")]
    [HttpPost]
    public async Task<IActionResult> Post([FromBody]TesViewModel request)
        {

                    var validator = new TesViewModelValidator();
                    var result = await validator.ValidateAsync(request);

return Ok();

    }

How can I instantiate and access object and pass correct request in generic way with dependency injection?


Solution

  • I ended up using injecting IValidator instance and invoking it with: var result = _validator.Validate(instance); where instance is T of registered AbstractValidator