
FEVOR (Fluent Extensible Validator) is a powerful .NET validation library designed to streamline form and data validation processes through an intuitive fluent interface. By replacing complex conditional statements with clean, chainable methods, FEVOR significantly improves code readability while maintaining robust validation capabilities across various .NET applications.
Why Choose FEVOR for Your .NET Validation Needs?
Modern applications demand sophisticated validation logic that often becomes cumbersome with traditional approaches. FEVOR addresses these challenges with:
- Universal .NET compatibility – Works across all .NET project types from web applications to desktop software
- Human-readable syntax – Validation rules read like plain English, making code maintenance easier for entire teams
- Extensible architecture – Add custom validation rules without learning complex interfaces or attributes
- Comprehensive type support – Includes specialized validators for strings, numbers, dates, and custom objects
Core Features That Set FEVOR Apart
Fluent Validation Interface
The library’s chainable methods allow developers to construct complex validation rules in a single, readable statement. For example:
customer.Email.Check("Email address")
.IsNotNull()
.IsEmail()
.IsLongerThan(5)
.MatchesRegex(@".(com|org|net)$");
Flexible Error Handling System
FEVOR provides multiple approaches to manage validation failures:
- Four built-in warning methods (exceptions, logging, callbacks, silent flags)
- Customizable error messages for each validation rule
- Granular control over failure handling per validation group
Null Value Support
Unlike many validation libraries, FEVOR handles null values gracefully with dedicated methods like IsNotNull()
and IsNull()
, preventing null reference exceptions during validation.
Getting Started with FEVOR
Installation and Setup
FEVOR requires .NET Framework 4.0 or later and can be added to your project via NuGet or by including the source directly. The package includes:
- Fully documented source code with XML comments
- WinForms demo application showcasing practical implementations
- Comprehensive API documentation in HTML and PDF formats
- Step-by-step tutorial with three difficulty levels
- Visual diagram of the library’s architecture
Practical Implementation Examples
Basic String Validation
username.Check("Username")
.IsNotNull()
.IsLongerThan(4)
.IsShorterThan(20)
.DoesNotContain("admin");
Numeric Range Checking
age.Check("Age")
.IsInRange(18, 120)
.IsEvenNumber();
Complex Object Validation
order.Check()
.ForProperty(o => o.TotalAmount)
.IsGreaterThan(0)
.ForProperty(o => o.ShippingAddress)
.IsNotNull()
.ValidateWith(addressValidator);
Extending FEVOR for Custom Scenarios
The library offers two extension approaches:
- Method Extensions – Add new validation methods to existing types
- Custom Validators – Create specialized validator classes for complex objects
Example custom string validator:
public static Validator<string> IsValidProductCode(this Validator<string> validator)
{
return validator.MatchesRegex(@"^[A-Z]{2}d{4}-[A-Z]{3}$");
}
Performance Considerations
FEVOR is optimized for performance with:
- Minimal overhead from the fluent interface
- Short-circuit evaluation (stops at first failure by default)
- Reusable validator instances for repeated validations
Best Practices for FEVOR Implementation
- Group related validations together for better readability
- Create custom validation extensions for domain-specific rules
- Combine FEVOR with DI containers for enterprise applications
- Use the built-in documentation generator for team knowledge sharing
For teams maintaining large codebases or working with complex business rules, FEVOR provides a maintainable alternative to scattered validation logic. Its self-documenting nature and extensible design make it particularly valuable for long-term projects where requirements evolve over time.