smart_validator_india 0.1.1 copy "smart_validator_india: ^0.1.1" to clipboard
smart_validator_india: ^0.1.1 copied to clipboard

A comprehensive Dart + Flutter validation package.

smart_validator #

A comprehensive validation package for Dart & Flutter.

Supports: Email, Phone, Password, GST, PAN, Aadhaar, URL, IP Address, Credit Card, and UPI ID validation — including India-specific validators.


Features #

Validator What it checks
EmailValidator Valid email format
PhoneValidator Indian & international phone numbers
PasswordValidator Strength, rules, match check
IndiaValidator GST, PAN, Aadhaar
UrlValidator HTTP/HTTPS URLs
IpValidator IPv4 and IPv6 addresses
CreditCardValidator Luhn algorithm + card type detection
UpiValidator UPI ID format + known handles

Installation #

Add this to your pubspec.yaml:

dependencies:
  smart_validator: ^0.0.1

Then run:

flutter pub get

Usage #

import 'package:smart_validator/smart_validator.dart';

Email #

EmailValidator.isValid("test@gmail.com");   // true
EmailValidator.isValid("invalid");          // false

// With result message
final result = EmailValidator.validate("test@gmail.com");
print(result.isValid);   // true
print(result.message);   // "Valid email address"

// As Flutter form validator
TextFormField(
  validator: EmailValidator.formValidator(),
)

Phone (Indian) #

PhoneValidator.isValidIndian("9876543210");  // true
PhoneValidator.isValidIndian("1234567890");  // false

TextFormField(
  validator: PhoneValidator.formValidator(),
)

Password #

PasswordValidator.isStrong("Pass@1234");   // true
PasswordValidator.isStrong("password");   // false

// Check strength
PasswordValidator.getStrength("Pass@1234"); // PasswordStrength.strong

// Match two passwords
PasswordValidator.passwordsMatch("Pass@123", "Pass@123"); // true

Indian GST, PAN, Aadhaar #

IndiaValidator.isValidGST("27AAAPZ2323J1ZW");  // true
IndiaValidator.isValidPAN("ABCDE1234F");         // true
IndiaValidator.isValidAadhaar("234123412341");   // true

TextFormField(validator: IndiaValidator.gstFormValidator())
TextFormField(validator: IndiaValidator.panFormValidator())
TextFormField(validator: IndiaValidator.aadhaarFormValidator())

URL #

UrlValidator.isValid("https://flutter.dev");  // true
UrlValidator.isSecure("https://flutter.dev"); // true
UrlValidator.isSecure("http://flutter.dev");  // false

IP Address #

IpValidator.isValidIPv4("192.168.1.1");                          // true
IpValidator.isValidIPv6("2001:0db8:85a3:0000:0000:8a2e:0370:7334"); // true
IpValidator.isValid("192.168.1.1");                              // true (v4 or v6)

Credit Card #

CreditCardValidator.isValid("4111111111111111"); // true (Luhn check)
CreditCardValidator.getCardType("4111111111111111"); // CardType.visa

UPI ID #

UpiValidator.isValid("name@okaxis");        // true
UpiValidator.isKnownHandle("name@paytm");  // true
UpiValidator.isKnownHandle("name@xyz");    // false

ValidationResult #

Every validator has a .validate() method returning a ValidationResult:

final result = EmailValidator.validate("bad-email");
print(result.isValid);  // false
print(result.message);  // "Enter a valid email address"

Flutter Form Integration #

Every validator has a .formValidator() method for direct use in TextFormField:

TextFormField(
  validator: EmailValidator.formValidator(
    errorMessage: "Please enter your email", // optional custom message
  ),
)

License #

MIT License. See LICENSE for details.

3
likes
150
points
4
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A comprehensive Dart + Flutter validation package.

Homepage

Topics

#validator #validation #form #utils #india

License

MIT (license)

Dependencies

flutter

More

Packages that depend on smart_validator_india