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" />
                    
Directory.Packages.props
<PackageReference Include="Aquila.Validater" />
                    
Project file
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
                    
#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
                    
Install as a Cake Addin
#tool nuget:?package=Aquila.Validater&version=1.0.5
                    
Install as a Cake Tool

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

  • Email
  • 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:

  • IsValid
  • ErrorMessage
  • ErrorCode

๐ŸŽฏ 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 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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.5 170 2/12/2026
1.0.4 133 2/12/2026
1.0.3 130 2/12/2026
1.0.2 134 2/12/2026
1.0.1 132 2/12/2026
1.0.0 139 2/12/2026