Overview
What is Validation Framework?
Validation Framework is a lightweight, flexible, and extensible validation library for .NET applications. It provides a clean and intuitive way to validate various data types with customizable rules and detailed error reporting.
Key Features
Core Capabilities
- Fluent API: Build validation rules with a clean, chainable syntax
- Type-Safe: Compile-time type checking prevents runtime errors
- Detailed Error Reporting: Comprehensive error messages with field-level tracking
- Extensible: Easy to add custom validators for your specific needs
- Async Support: Full support for asynchronous validation scenarios
Built-in Validators
The framework includes 70+ built-in validators covering common scenarios:
- Basic: Email, Phone, URL, Date, Range, etc. (20+)
- Network: IP Address, Domain, JWT, API Key, International Phone (6)
- Identifiers: GUID, UUID, SSN, CVV, Credit Card Expiry (5)
- Files: File Extension, MIME Type, File Path (3)
- Versioning: Semantic Version (1)
- Codes: Currency, Language, Country, Postal Code (4)
- Location: Latitude, Longitude, Coordinates, Time Zone (4)
- Text: Letters Only, Slug, Color (3)
- Security: Strong Password (1)
Platform Compatibility
The framework is UI-agnostic and works seamlessly with all major .NET platforms:
- ASP.NET Core: ModelState integration, action filters
- WPF: INotifyDataErrorInfo support, validation rules
- Windows Forms: ErrorProvider integration
- Blazor: EditContext integration, validatable components
- .NET MAUI: VisualElement validation, attached properties
Architecture
Core Components
- Validator
- Main validator class - ValidationResult - Validation outcome container
- ValidationRule
- Individual validation rule - CommonValidators - 20+ built-in validators
- AsyncValidator
- Async validation support - AsyncValidationRule - Async validation rule
- AsyncValidationExtensions - Async helpers
Platform-Specific Integrations
- ValidationFramework.AspNetCore.cs - ASP.NET Core integration
- ValidationFramework.Wpf.cs - WPF integration
- ValidationFramework.WinForms.cs - Windows Forms integration
- ValidationFramework.Blazor.cs - Blazor integration
- ValidationFramework.Maui.cs - .NET MAUI integration
Quick Example
using ValidationFramework;
// Create a validator
var emailValidator = CommonValidators.EmailValidator();
// Validate
var result = emailValidator.Validate("john@example.com");
if (result.IsValid)
{
Console.WriteLine("Email is valid!");
}
else
{
foreach (var error in result.Errors)
{
Console.WriteLine(error);
}
}
Next Steps
- Installation: Learn how to install the framework
- Quick Start: Try it out with a simple example
- Validation Basics: Understand core concepts
- API Reference: Explore the complete API