๐ 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.