Aquila.Validater
1.0.5
dotnet add package Aquila.Validater --version 1.0.5
NuGet\Install-Package Aquila.Validater -Version 1.0.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aquila.Validater" Version="1.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aquila.Validater" Version="1.0.5" />
<PackageReference Include="Aquila.Validater" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Aquila.Validater --version 1.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Aquila.Validater, 1.0.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Aquila.Validater@1.0.5
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Aquila.Validater&version=1.0.5
#tool nuget:?package=Aquila.Validater&version=1.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Aquila.Validater
๐ A lightweight, fluent, enterprise-ready validation library for .NET 9 (MAUI Android & Windows compatible).
Aquila.Validater is a powerful and extensible validation engine built for modern .NET applications including:
- .NET 9
- .NET MAUI (Android & Windows)
- Web APIs
- Desktop Applications
- ERP Systems
- Business Applications
It provides clean, readable, and fluent validation with zero external dependencies.
โจ Features
๐น Basic Validation
- Required
- Min Length
- Max Length
๐น String Rules
- Alphanumeric
- Numbers Only
- Letters Only
- No Special Characters
๐น Format Validation
- Mobile
- Strong Password
- URL
๐น India-Specific Validation
- Aadhaar
- GST Number
- IFSC Code
- UPI ID
- PIN Code
- Vehicle Number
๐น Numeric Validation
- Positive Number
- Negative Number
- Percentage (0โ100)
- Decimal Precision
- Currency Format
๐น Date Validation
- Past Date Only
- Future Date Only
- Minimum Age (e.g., 18+)
- Date Within X Days
- Between Two Dates
๐ฆ Installation
NuGet Package Manager
Install-Package Aquila.Validater
.NET CLI
dotnet add package Aquila.Validater
๐ Quick Start
using Aquila.Validater;
var result = AquilaV.Validate(email)
.Required("Email is required")
.Email("Invalid email format")
.Result();
if (!result.IsValid)
{
Console.WriteLine(result.ErrorMessage);
}
๐ Fluent Chaining Examples
Email Validation
var result = AquilaV.Validate("test@example.com")
.Required()
.Email()
.Result();
Strong Password Validation
var result = AquilaV.Validate("Admin@123")
.Required()
.MinLength(8)
.StrongPassword()
.Result();
Alphanumeric Username
var result = AquilaV.Validate("User123")
.Alphanumeric()
.Result();
Numbers Only
var result = AquilaV.Validate("123456")
.NumbersOnly()
.Result();
Letters Only
var result = AquilaV.Validate("Aquila")
.LettersOnly()
.Result();
No Special Characters
var result = AquilaV.Validate("Aquila Software 2026")
.NoSpecialCharacters()
.Result();
๐ฎ๐ณ India Validation Examples
GST Number
var result = AquilaV.Validate("29ABCDE1234F1Z5")
.GST()
.Result();
Aadhaar
var result = AquilaV.Validate("123412341234")
.Aadhaar()
.Result();
IFSC Code
var result = AquilaV.Validate("HDFC0001234")
.IFSC()
.Result();
UPI ID
var result = AquilaV.Validate("name@upi")
.UPI()
.Result();
PIN Code
var result = AquilaV.Validate("600001")
.PinCode()
.Result();
Vehicle Number
var result = AquilaV.Validate("TN01AB1234")
.VehicleNumber()
.Result();
๐ข Numeric Examples
Positive Number
var result = AquilaV.Validate("100")
.Positive()
.Result();
Negative Number
var result = AquilaV.Validate("-50")
.Negative()
.Result();
Percentage (0โ100)
var result = AquilaV.Validate("85")
.Percentage()
.Result();
Decimal Precision (2 Places)
var result = AquilaV.Validate("12.34")
.DecimalPrecision(2)
.Result();
Currency Validation
var result = AquilaV.Validate("โน1,000.00")
.Currency()
.Result();
๐ Date Validation Examples
Past Date Only
var result = AquilaV.ValidateDatePast(selectedDate);
Future Date Only
bool isFuture = DateRules.IsFutureDate(selectedDate);
Age Validation (18+)
bool isAdult = DateRules.IsMinimumAge(dateOfBirth, 18);
Date Within Last 30 Days
bool valid = DateRules.IsWithinDays(selectedDate, 30);
Between Two Dates
bool valid = DateRules.IsBetween(date, startDate, endDate);
๐งฉ Example in .NET MAUI ViewModel
var result = AquilaV.Validate(Email)
.Required("Email required")
.Email()
.Result();
EmailError = result.IsValid ? "" : result.ErrorMessage;
๐ ValidationResult
if (!result.IsValid)
{
Console.WriteLine(result.ErrorMessage);
}
Properties:
IsValidErrorMessageErrorCode
๐ฏ Design Principles
- Lightweight
- Zero dependencies
- Compiled Regex for performance
- Fluent and readable
- Extendable architecture
- MAUI ready
- Enterprise-ready
๐ Security Notes
- Aadhaar validation is format-based only
- This package does NOT store or transmit sensitive data
- Always follow local legal compliance when handling government IDs
๐ฃ Roadmap
Planned enhancements:
- Generic
Validator<T> - Multiple error collection support
- Localization support
- Custom rule registration
- Multi-country validation packs
- Enterprise policy presets
๐ค Author
Aswin Sadhasivam Aquila Innovations
If you want next level, I can now:
- Add GitHub badges (NuGet version, downloads, build status)
- Create professional NuGet package description (short 4000-char optimized)
- Write release notes for v1.0.0
- Create a marketing-ready version of README
- Or prepare for official NuGet publishing
Whatโs next? ๐
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0-android35.0 is compatible. net9.0-windows10.0.19041 is compatible. net10.0-android was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0-android35.0
- Microsoft.Maui.Controls (>= 9.0.111)
-
net9.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 9.0.111)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.