EasyValidate
August 17, 2025 ยท View on GitHub
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 pointEasyValidate.Analyzers/โ Roslyn analyzers for compile-time validationEasyValidate.Fixers/โ Roslyn code fixers for quick fixesEasyValidate.Test/โ Unit testsConsoleTest/โ Console app for manual testingdocs/โ Additional docs and assets
License
This project is licensed under the GPL-3.0-only License โ see the LICENSE file for details.
Support
- ๐ Issues: GitHub Issues
- ๐ Documentation: Documentation Website
- ๐ฌ Discussions: GitHub Discussions
- โ๏ธ Buy me a coffee: https://www.buymeacoffee.com/mudawood