bharatvalidator 1.0.0
bharatvalidator: ^1.0.0 copied to clipboard
๐ฎ๐ณ India-first Flutter form validation package with 30+ validators. Covers Aadhaar, PAN, GST, IFSC, UPI, Driving License, Passport, Voter ID, CIN, TAN, FSSAI, ABHA, EPF, Card (Luhn), MICR, RERA, Udy [...]
๐ฎ๐ณ BharatValidator #
India-first Flutter form validation package.
Validate Aadhaar, PAN, GST, IFSC, UPI, Pincode, Phone (+91), Vehicle Number, Passport, Voter ID, Bank Account โ with English, Hindi & Gujarati error messages.
โจ Features #
| Validator | Description |
|---|---|
aadhaar |
12-digit Aadhaar (starts 2โ9) |
pan |
PAN card (ABCDE1234F format) |
gst |
15-char GST number |
ifsc |
Bank IFSC code |
upi |
UPI ID (name@handle) |
pincode |
6-digit Indian pincode |
phone |
10-digit mobile (+91 supported) |
email |
Email address |
vehicle |
Indian vehicle number (GJ01AB1234) |
passport |
Indian passport number |
voterId |
Voter ID / EPIC number |
bankAccount |
Bank account number (9โ18 digits) |
name |
Name (supports Devanagari & Gujarati script) |
password |
Strong password (8+ chars, upper, lower, digit, symbol) |
Multi-language error messages: English ๐ฌ๐ง ยท Hindi ๐ฎ๐ณ ยท Gujarati ๐
๐ Installation #
dependencies:
bharatvalidator: ^0.0.1
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);
Full Form Example #
final v = BharatValidator(locale: BharatLocale.hindi);
Form(
key: _formKey,
child: Column(
children: [
TextFormField(validator: v.name, decoration: InputDecoration(labelText: 'Name')),
TextFormField(validator: v.phone, decoration: InputDecoration(labelText: 'Mobile')),
TextFormField(validator: v.aadhaar, decoration: InputDecoration(labelText: 'Aadhaar')),
TextFormField(validator: v.pan, decoration: InputDecoration(labelText: 'PAN')),
TextFormField(validator: v.gst, decoration: InputDecoration(labelText: 'GST')),
TextFormField(validator: v.ifsc, decoration: InputDecoration(labelText: 'IFSC')),
TextFormField(validator: v.upi, decoration: InputDecoration(labelText: 'UPI ID')),
TextFormField(validator: v.pincode, decoration: InputDecoration(labelText: 'Pincode')),
TextFormField(validator: v.vehicle, decoration: InputDecoration(labelText: 'Vehicle No.')),
TextFormField(validator: v.passport, decoration: InputDecoration(labelText: 'Passport')),
TextFormField(validator: v.voterId, decoration: InputDecoration(labelText: 'Voter ID')),
TextFormField(validator: v.bankAccount, decoration: InputDecoration(labelText: 'Account No.')),
TextFormField(validator: v.password, decoration: InputDecoration(labelText: 'Password')),
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
โ โโโ ifsc_validator.dart
โ โโโ upi_validator.dart
โ โโโ pincode_validator.dart
โ โโโ phone_validator.dart
โ โโโ email_validator.dart
โ โโโ vehicle_validator.dart
โ โโโ passport_validator.dart
โ โโโ voter_id_validator.dart
โ โโโ bank_account_validator.dart
โ โโโ name_validator.dart
โ โโโ password_validator.dart
โโโ ios/ # iOS plugin stub
โโโ android/ # Android plugin stub
โโโ example/ # Full demo app
โโโ test/ # Unit tests
๐งช Running Tests #
flutter test
๐ License #
MIT License ยฉ 2025 โ Made with โค๏ธ for Indian Flutter developers.