FluentValidationDotNetCore
For small systems, I would recommend just using Data Annotations, because theyโre so easy to set up. For larger, more complex systems, I would recommend separating the validation concern using validator objects with Fluent Validation