๐Ÿ‘‘ King Validation

A lightweight, fast, and easy-to-use Flutter/Dart validation package that helps you validate user input with clean, reusable, and customizable validators.


โœจ Features

โœ… Email Validation

๐Ÿ”’ Password Validation

๐Ÿ“ฑ Phone Validation

๐ŸŒ URL Validation

๐Ÿ‘ค Username Validation

๐Ÿ“ Name Validation

๐Ÿ“ฆ Empty Validation

๐Ÿ”ข Number Validation

๐Ÿ” OTP Validation

๐Ÿ’ณ Credit Card Validation

๐Ÿ› ๏ธ Custom Validation

๐Ÿ“ Flutter Form Validators

๐ŸŽจ Custom Validation Messages

โœ… Null Safety


๐Ÿš€ Installation

Add the package to your pubspec.yaml:

dependencies:
  king_validation: ^1.1.0

Install the package:

flutter pub get

๐Ÿ“ฅ Import

import 'package:king_validation/king_validation.dart';

๐Ÿ“š Usage Examples

๐Ÿ“ง Email Validation

final result = EmailValidator.validate(
  'hero@gmail.com',
);

print(result.isValid);

๐Ÿ”’ Password Validation

final result = PasswordValidator.validate(
  'Hero@123',
);

print(result.isValid);

๐Ÿ“ฑ Phone Validation

final result = PhoneValidator.validate(
  '1234567890',
);

print(result.isValid);

๐Ÿ‘ค Username Validation

final result = UsernameValidator.validate(
  'hero_123',
);

print(result.isValid);

๐Ÿ“ Name Validation

final result = NameValidator.validate(
  'Hero Ahmed',
);

print(result.isValid);

๐ŸŒ URL Validation

final result = UrlValidator.validate(
  'https://google.com',
);

print(result.isValid);

๐Ÿ“ฆ Empty Validation

final result = EmptyValidator.validate(
  'Hello World',
);

print(result.isValid);

๐Ÿ”ข Number Validation

final result = NumberValidator.validate(
  '123.45',
);

print(result.isValid);

๐Ÿ” OTP Validation

final result = OtpValidator.validate(
  '123456',
);

print(result.isValid);

๐Ÿ’ณ Credit Card Validation

final result = CreditCardValidator.validate(
  '4111111111111111',
);

print(result.isValid);

๐Ÿ› ๏ธ Custom Validation

final result = CustomValidator.validate(
  'ABC123',
  RegExp(r'^[A-Z0-9]+$'),
);

print(result.isValid);

๐Ÿ“ Flutter Form Validators

Use the built-in form validators directly with TextFormField.

TextFormField(
  validator: const EmailFormValidator().call,
)

Example with another validator:

TextFormField(
  validator: const PasswordFormValidator().call,
)

๐ŸŽจ Custom Error Messages

Override the default validation messages.

TextFormField(
  validator: const EmailFormValidator(
    messages: {
      ValidationError.empty: 'Email is required.',
      ValidationError.invalidEmail: 'Please enter a valid email.',
    },
  ).call,
)

๐Ÿ“Š Validation Result

final result = EmailValidator.validate(
  'hero@gmail.com',
);

if (result.isValid) {
  print('Valid');
} else {
  print(result.error);
}

๐ŸŽฏ Available Validators

Validator Description
๐Ÿ“ง EmailValidator Validate email addresses
๐Ÿ”’ PasswordValidator Validate strong passwords
๐Ÿ“ฑ PhoneValidator Validate phone numbers
๐Ÿ‘ค UsernameValidator Validate usernames
๐Ÿ“ NameValidator Validate names
๐ŸŒ UrlValidator Validate URLs
๐Ÿ“ฆ EmptyValidator Validate empty values
๐Ÿ”ข NumberValidator Validate numeric values
๐Ÿ” OtpValidator Validate OTP codes
๐Ÿ’ณ CreditCardValidator Validate credit card numbers
๐Ÿ› ๏ธ CustomValidator Validate custom regular expressions

๐Ÿงช Quality

  • โœ… 100+ Unit Tests
  • โœ… Flutter Example Included
  • โœ… Null Safety
  • โœ… Flutter Support
  • โœ… Dart Support

๐Ÿ“‚ Example

A complete Flutter example demonstrating every validator and the new Form Validators is available in the example/ directory.


๐Ÿค Contributing

Contributions, issues, and feature requests are welcome.


๐Ÿ“„ License

MIT License

Made with โค๏ธ using Flutter & Dart.

Libraries

king_validation