Skip to main content

bharatvalidator 1.0.2 copy "bharatvalidator: ^1.0.2" to clipboard
bharatvalidator: ^1.0.2 copied to clipboard

๐Ÿ‡ฎ๐Ÿ‡ณ India-first Flutter form validation package with 30+ validators. Covers Aadhaar, PAN, GST, IFSC, UPI, Driving License, Passport, Voter ID etc.

๐Ÿ‡ฎ๐Ÿ‡ณ BharatValidator #

India-first Flutter form validation package with 30+ validators.

Validate Aadhaar, PAN, GST, IFSC, UPI, Driving License, Passport, Voter ID, CIN, TAN, FSSAI, ABHA, EPF, Card (Luhn), RERA, Udyam and more โ€” with English, Hindi & Gujarati error messages.

pub package License: MIT


โœจ Features #

๐Ÿชช Identity #

Validator Description
aadhaar 12-digit Aadhaar (starts 2โ€“9)
pan PAN card (ABCDE1234F format)
passport Indian passport number
voterId Voter ID / EPIC number
drivingLicense Indian driving license number

๐Ÿข Tax & Business #

Validator Description
gst 15-char GST number
tan TAN number (PDES03028F format)
cin Company Identification Number
fssai FSSAI license number (14 digits)
udyam Udyam / MSME registration number
rera RERA registration number

๐Ÿฆ Banking & Finance #

Validator Description
ifsc Bank IFSC code
upi UPI ID (name@handle)
bankAccount Bank account number (9โ€“18 digits)
cardNumber Credit/Debit card number (Luhn algorithm)
micr MICR code (9 digits)
epf EPF / PF account number
amount Indian currency amount with optional min/max (โ‚น)

๐Ÿ“ž Contact #

Validator Description
phone 10-digit mobile (+91 supported)
email Email address
landline Indian landline with STD code

๐Ÿฅ Health #

Validator Description
abha ABHA / Ayushman Bharat Health Account number

๐Ÿ“ Address & Vehicle #

Validator Description
pincode 6-digit Indian pincode
vehicle Indian vehicle number (GJ01AB1234)

๐Ÿ‘ค Personal #

Validator Description
name Name (supports Devanagari & Gujarati script)
password Strong password (8+ chars, upper, lower, digit, symbol)
username Username (3โ€“20 chars, letters/digits/_/-)
dob Date of birth with optional min/max age

๐ŸŒ Digital #

Validator Description
url Website URL (http/https)
otp OTP โ€” 4 or 6 digit

Multi-language error messages: English ๐Ÿ‡ฌ๐Ÿ‡ง ยท Hindi ๐Ÿ‡ฎ๐Ÿ‡ณ ยท Gujarati ๐ŸŸ 


๐Ÿš€ Installation #

dependencies:
  bharatvalidator: ^1.0.0
flutter pub get

๐Ÿ“– Usage #

Basic #

import 'package:bharatvalidator/bharatvalidator.dart';

final v = BharatValidator(); // English (default)

TextFormField(
  validator: v.aadhaar, // Pass directly!
)

Change Language #

// Hindi
final v = BharatValidator(locale: BharatLocale.hindi);

// Gujarati
final v = BharatValidator(locale: BharatLocale.gujarati);

Validators with Parameters #

// DOB with minimum age check
TextFormField(
  validator: (val) => v.dob(val, minAge: 18),
)

// Amount with min/max range
TextFormField(
  validator: (val) => v.amount(val, min: 1, max: 100000),
)

// OTP length
TextFormField(
  validator: (val) => v.otp(val, length: 6),
)

Full Form Example #

final v = BharatValidator(locale: BharatLocale.hindi);

Form(
  key: _formKey,
  child: Column(
    children: [
      // Personal
      TextFormField(validator: v.name,          decoration: InputDecoration(labelText: 'Name')),
      TextFormField(validator: v.username,       decoration: InputDecoration(labelText: 'Username')),
      TextFormField(validator: v.phone,          decoration: InputDecoration(labelText: 'Mobile')),
      TextFormField(validator: v.email,          decoration: InputDecoration(labelText: 'Email')),
      TextFormField(validator: v.password,       decoration: InputDecoration(labelText: 'Password')),
      TextFormField(validator: (v) => v.dob(v, minAge: 18), decoration: InputDecoration(labelText: 'DOB')),

      // Government IDs
      TextFormField(validator: v.aadhaar,        decoration: InputDecoration(labelText: 'Aadhaar')),
      TextFormField(validator: v.pan,            decoration: InputDecoration(labelText: 'PAN')),
      TextFormField(validator: v.voterId,        decoration: InputDecoration(labelText: 'Voter ID')),
      TextFormField(validator: v.passport,       decoration: InputDecoration(labelText: 'Passport')),
      TextFormField(validator: v.drivingLicense, decoration: InputDecoration(labelText: 'Driving License')),

      // Tax & Business
      TextFormField(validator: v.gst,            decoration: InputDecoration(labelText: 'GST')),
      TextFormField(validator: v.tan,            decoration: InputDecoration(labelText: 'TAN')),
      TextFormField(validator: v.cin,            decoration: InputDecoration(labelText: 'CIN')),
      TextFormField(validator: v.fssai,          decoration: InputDecoration(labelText: 'FSSAI')),
      TextFormField(validator: v.udyam,          decoration: InputDecoration(labelText: 'Udyam')),

      // Banking
      TextFormField(validator: v.ifsc,           decoration: InputDecoration(labelText: 'IFSC')),
      TextFormField(validator: v.upi,            decoration: InputDecoration(labelText: 'UPI ID')),
      TextFormField(validator: v.bankAccount,    decoration: InputDecoration(labelText: 'Account No.')),
      TextFormField(validator: v.cardNumber,     decoration: InputDecoration(labelText: 'Card Number')),

      ElevatedButton(
        onPressed: () => _formKey.currentState!.validate(),
        child: Text('Submit'),
      ),
    ],
  ),
)

๐ŸŒ Supported Languages #

BharatLocale.english   // "Enter a valid 12-digit Aadhaar number."
BharatLocale.hindi     // "เคฎเคพเคจเฅเคฏ 12 เค…เค‚เค•เฅ‹เค‚ เค•เคพ เค†เคงเคพเคฐ เคจเค‚เคฌเคฐ เคฆเคฐเฅเคœ เค•เคฐเฅ‡เค‚เฅค"
BharatLocale.gujarati  // "เชฎเชพเชจเซเชฏ 12 เช…เช‚เช•เชจเซ‹ เช†เชงเชพเชฐ เชจเช‚เชฌเชฐ เชฆเชพเช–เชฒ เช•เชฐเซ‹."

๐Ÿ—๏ธ Project Structure #

bharatvalidator/
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ bharatvalidator.dart              # Main export
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ bharat_validator.dart         # Main BharatValidator class
โ”‚       โ”œโ”€โ”€ locale/
โ”‚       โ”‚   โ””โ”€โ”€ bharat_locale.dart        # Multi-language messages
โ”‚       โ””โ”€โ”€ validators/
โ”‚           โ”œโ”€โ”€ aadhaar_validator.dart
โ”‚           โ”œโ”€โ”€ pan_validator.dart
โ”‚           โ”œโ”€โ”€ gst_validator.dart
โ”‚           โ”œโ”€โ”€ tan_validator.dart
โ”‚           โ”œโ”€โ”€ cin_validator.dart
โ”‚           โ”œโ”€โ”€ ifsc_validator.dart
โ”‚           โ”œโ”€โ”€ upi_validator.dart
โ”‚           โ”œโ”€โ”€ pincode_validator.dart
โ”‚           โ”œโ”€โ”€ phone_validator.dart
โ”‚           โ”œโ”€โ”€ landline_validator.dart
โ”‚           โ”œโ”€โ”€ email_validator.dart
โ”‚           โ”œโ”€โ”€ vehicle_validator.dart
โ”‚           โ”œโ”€โ”€ passport_validator.dart
โ”‚           โ”œโ”€โ”€ voter_id_validator.dart
โ”‚           โ”œโ”€โ”€ driving_license_validator.dart
โ”‚           โ”œโ”€โ”€ bank_account_validator.dart
โ”‚           โ”œโ”€โ”€ card_number_validator.dart
โ”‚           โ”œโ”€โ”€ micr_validator.dart
โ”‚           โ”œโ”€โ”€ epf_validator.dart
โ”‚           โ”œโ”€โ”€ fssai_validator.dart
โ”‚           โ”œโ”€โ”€ abha_validator.dart
โ”‚           โ”œโ”€โ”€ rera_validator.dart
โ”‚           โ”œโ”€โ”€ udyam_validator.dart
โ”‚           โ”œโ”€โ”€ name_validator.dart
โ”‚           โ”œโ”€โ”€ password_validator.dart
โ”‚           โ”œโ”€โ”€ username_validator.dart
โ”‚           โ”œโ”€โ”€ dob_validator.dart
โ”‚           โ”œโ”€โ”€ amount_validator.dart
โ”‚           โ”œโ”€โ”€ url_validator.dart
โ”‚           โ””โ”€โ”€ otp_validator.dart
โ”œโ”€โ”€ example/                              # Full demo app
โ””โ”€โ”€ test/                                 # Unit tests

๐Ÿงช Running Tests #

flutter test

๐Ÿ“„ License #

MIT License ยฉ 2026 โ€” Made with โค๏ธ for Indian Flutter developers.

3
likes
160
points
43
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

๐Ÿ‡ฎ๐Ÿ‡ณ India-first Flutter form validation package with 30+ validators. Covers Aadhaar, PAN, GST, IFSC, UPI, Driving License, Passport, Voter ID etc.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on bharatvalidator