king_validation 1.2.0 copy "king_validation: ^1.2.0" to clipboard
king_validation: ^1.2.0 copied to clipboard

A lightweight Flutter and Dart validation package with standalone validators, Form Validators, custom validation messages, and RegExp-based validation.

๐Ÿ‘‘ King Validation #

A lightweight, fast, and easy-to-use Flutter/Dart validation package for validating user input.

Supports both:

  • โœ… Standalone Validators
  • โœ… Flutter Form Validators
  • โœ… Custom Validation Messages
  • โœ… Custom Regular Expressions
  • โœ… Null Safety

โœจ Features #

  • ๐Ÿ“ง Email Validation
  • ๐Ÿ”’ Password Validation
  • ๐Ÿ“ฑ Phone Validation
  • ๐Ÿ‘ค Username Validation
  • ๐Ÿ“ Name Validation
  • ๐ŸŒ URL Validation
  • ๐Ÿ“ฆ Empty Validation
  • ๐Ÿ”ข Number Validation
  • ๐Ÿ” OTP Validation
  • ๐Ÿ’ณ Credit Card Validation
  • ๐Ÿ› ๏ธ Custom Validation
  • ๐Ÿ“ Flutter Form Validators
  • ๐ŸŽจ Custom Validation Messages

๐Ÿš€ Installation #

Add the package to your pubspec.yaml.

dependencies:
  king_validation: ^1.2.0

Install packages:

flutter pub get

๐Ÿ“ฅ Import #

import 'package:king_validation/king_validation.dart';

๐Ÿš€ Quick Start #

Standalone Validator #

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

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

Flutter Form Validator #

TextFormField(
  decoration: const InputDecoration(
    labelText: 'Email',
  ),
  validator: const EmailFormValidator().call,
)

Custom Validation Messages #

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

Every FormValidator supports custom validation messages through the messages parameter.


Custom Regular Expression #

TextFormField(
  validator: CustomFormValidator(
    pattern: RegExp(r'^[A-Z0-9]+$'),
  ).call,
)

๐Ÿ“Š Validation Result #

Every standalone validator returns a ValidationResult.

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

print(result.isValid);
print(result.error);

๐Ÿ“š More Validator Examples #

Password #

PasswordValidator.validate('Hero@123');

Phone #

PhoneValidator.validate('+1234567890');

Username #

UsernameValidator.validate('hero_123');

Name #

NameValidator.validate('Hero Ahmed');

URL #

UrlValidator.validate('https://flutter.dev');

Empty #

EmptyValidator.validate('');

Number #

NumberValidator.validate('12345');

OTP #

OtpValidator.validate('123456');

Credit Card #

CreditCardValidator.validate('4111111111111111');

๐Ÿ“‹ Available Validators #

Standalone Validators #

Validator Description
EmailValidator Validate email addresses
PasswordValidator Validate 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

Flutter Form Validators #

Form Validator
EmailFormValidator
PasswordFormValidator
PhoneFormValidator
UsernameFormValidator
NameFormValidator
UrlFormValidator
EmptyFormValidator
NumberFormValidator
OtpFormValidator
CreditCardFormValidator
CustomFormValidator

All Form Validators expose the same API and can be used directly with TextFormField.validator.


๐Ÿ“‚ Example #

A complete Flutter example is available in the example/ directory.

The example application demonstrates:

  • โœ… Standalone Validators
  • โœ… Flutter Form Validators
  • โœ… Default Validation Messages
  • โœ… Custom Validation Messages
  • โœ… Custom Regular Expressions
  • โœ… Material 3 UI

๐Ÿงช Quality #

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

๐Ÿค Contributing #

Contributions, issues, and feature requests are welcome.


๐Ÿ“„ License #

MIT License

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

1
likes
160
points
15
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A lightweight Flutter and Dart validation package with standalone validators, Form Validators, custom validation messages, and RegExp-based validation.

Repository (GitHub)
View/report issues

Topics

#validation #validator #form #flutter #dart

License

MIT (license)

Dependencies

flutter

More

Packages that depend on king_validation