EasyValidate

August 17, 2025 ยท View on GitHub

Buy Me A Coffee
If you find EasyValidate helpful, consider buying me a coffee to support development!

EasyValidate

A modern, type-safe .NET validation library and source generator with Roslyn analyzers and code fixers.

Overview

EasyValidate enables powerful, composable, and type-safe validation using attributes. It generates efficient validation code at compile time and provides analyzers for compile-time feedback.

Quick Start

public class User
{
    [Required]
    [StringLength(50)]
    public string Name { get; set; }
    
    [Required]
    [Email]
    public string Email { get; set; }
    
    [Range(18, 120)]
    public int Age { get; set; }
}

// Generated validation method
var result = user.Validate();
if (!result.IsValid)
{
    foreach (var error in result.Errors)
    {
        Console.WriteLine(error.Message);
    }
}

Installation

Install the NuGet package:

dotnet add package EasyValidate

Documentation

๐Ÿ“– Full documentation: https://easy-validate.netlify.app

  • Getting started
  • Complete API reference
  • Attribute documentation
  • Migration guides
  • Examples and tutorials

Project Structure

  • EasyValidate.Core/ โ€“ Core validation attributes and logic (type-safe, scalable)
  • EasyValidate/ โ€“ Source generator and NuGet package entry point
  • EasyValidate.Analyzers/ โ€“ Roslyn analyzers for compile-time validation
  • EasyValidate.Fixers/ โ€“ Roslyn code fixers for quick fixes
  • EasyValidate.Test/ โ€“ Unit tests
  • ConsoleTest/ โ€“ Console app for manual testing
  • docs/ โ€“ Additional docs and assets

License

This project is licensed under the GPL-3.0-only License โ€“ see the LICENSE file for details.

Support