FluentValidation is a popular .NET library for building strongly-typed validation rules. You can use this library to replace Data Annotations in your application. It also provides an easy way to create validation rules for the properties in your models/classes, taking out the complexity of validation.