EasyValidate
Build robust applications with attribute-based validation, source generation, async support, and seamless dependency injection. Zero reflection, maximum performance.
Install / Use
/learn @mu-dawood/EasyValidateREADME
<p align="center">
<a href="https://coff.ee/mu.dawood" target="_blank">
<img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="60" width="217" />
</a>
<br/>
<b>If you find EasyValidate helpful, consider <a href="https://coff.ee/mu.dawood">buying me a coffee</a> to support development!</b>
</p>
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
