i_validator 1.0.8 copy "i_validator: ^1.0.8" to clipboard
i_validator: ^1.0.8 copied to clipboard

i_validator package provides a collection of common validation utilities such as email, password, phone number, OTP, and required fields validation. It also includes custom validation for confirm pass [...]

example/main.dart

import 'package:flutter/foundation.dart';
import 'package:i_validator/i_validator.dart';


void main() {
  // --- πŸ” SECURITY VALIDATORS ---
  debugPrint('\n--- πŸ” SECURITY VALIDATORS ---');

  debugPrint('\nπŸ“Œ OtpValidator (6-digit)');
  final otpValidator = OtpValidator(length: 6);
  debugPrint('  Valid OTP: ${otpValidator.validate("123456") ?? "βœ… Valid"}');
  debugPrint('  Invalid OTP: ${otpValidator.validate("123") ?? "βœ… Valid"}');

  debugPrint('\nπŸ” PasswordValidator (strong)');
  final passwordValidator = PasswordValidator(
    minLength: 8,
    strength: PasswordStrength.strong,
  );
  debugPrint(
    '  Valid Password: ${passwordValidator.validate("Strong@123") ?? "βœ… Valid"}',
  );
  debugPrint(
    '  Weak Password: ${passwordValidator.validate("weak") ?? "βœ… Valid"}',
  );

  debugPrint('\nπŸ”„ ConfirmPasswordValidator');
  final confirmValidator = ConfirmPasswordValidator(password: "Strong@123");
  debugPrint(
    '  Match: ${confirmValidator.validate("Strong@123") ?? "βœ… Valid"}',
  );
  debugPrint(
    '  Mismatch: ${confirmValidator.validate("WrongPass") ?? "βœ… Valid"}',
  );

  debugPrint('\nπŸ”’ PinNumberValidator');
  final pinValidator = PinNumberValidator();
  debugPrint('  Valid 4-digit: ${pinValidator.validate("1234") ?? "βœ… Valid"}');
  debugPrint(
    '  Valid 6-digit: ${pinValidator.validate("123456") ?? "βœ… Valid"}',
  );
  debugPrint('  Invalid: ${pinValidator.validate("12") ?? "βœ… Valid"}');

  // --- πŸ“ TEXT VALIDATORS ---
  debugPrint('\n--- πŸ“ TEXT VALIDATORS ---');

  debugPrint('\nπŸ“§ EmailValidator');
  final emailValidator = EmailValidator();
  debugPrint('  Valid: ${emailValidator.validate("me@mail.com") ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${emailValidator.validate("bad@email") ?? "βœ… Valid"}');

  debugPrint('\nπŸ“± PhoneNumberValidator');
  final phoneValidator = PhoneNumberValidator();
  debugPrint('  Valid: ${phoneValidator.validate("01712345678") ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${phoneValidator.validate("123") ?? "βœ… Valid"}');

  debugPrint('\nπŸ“ MinLengthValidator (min: 5)');
  final minLengthValidator = MinLengthValidator(5);
  debugPrint('  Valid: ${minLengthValidator.validate("Hello") ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${minLengthValidator.validate("Hi") ?? "βœ… Valid"}');

  debugPrint('\nπŸ”„ RegexValidator (Uppercase first)');
  final regexValidator = RegexValidator(
    pattern: r'^[A-Z][a-z]*$',
    errorText: "Must start with uppercase",
  );
  debugPrint('  Valid: ${regexValidator.validate("Flutter") ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${regexValidator.validate("dart") ?? "βœ… Valid"}');

  // --- πŸ”’ NUMERIC VALIDATORS ---
  debugPrint('\n--- πŸ”’ NUMERIC VALIDATORS ---');

  debugPrint('\n⬆️ MinValueValidator<int> (min: 10)');
  final minIntValidator = MinValueValidator<int>(min: 10);
  debugPrint('  Valid (15): ${minIntValidator.validate(15) ?? "βœ… Valid"}');
  debugPrint('  Invalid (5): ${minIntValidator.validate(5) ?? "βœ… Valid"}');

  debugPrint('\n⬇️ MaxValueValidator<double> (max: 99.5)');
  final maxDoubleValidator = MaxValueValidator<double>(max: 99.5);
  debugPrint(
    '  Valid (88.8): ${maxDoubleValidator.validate(88.8) ?? "βœ… Valid"}',
  );
  debugPrint(
    '  Invalid (120.0): ${maxDoubleValidator.validate(120.0) ?? "βœ… Valid"}',
  );

  // --- βœ”οΈ REQUIRED VALIDATORS ---
  debugPrint('\n--- βœ”οΈ REQUIRED VALIDATORS ---');

  debugPrint('\n❗ RequiredFieldValidator<String>');
  final requiredStr = RequiredFieldValidator<String>();
  debugPrint('  Valid: ${requiredStr.validate("Text") ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${requiredStr.validate("") ?? "βœ… Valid"}');

  debugPrint('\nπŸ“… RequiredDateValidator');
  final requiredDate = RequiredDateValidator();
  debugPrint('  Valid: ${requiredDate.validate(DateTime.now()) ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${requiredDate.validate(null) ?? "βœ… Valid"}');

  debugPrint('\nπŸ“‹ RequiredListValidator');
  final requiredList = RequiredListValidator();
  debugPrint('  Valid: ${requiredList.validate([1, 2]) ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${requiredList.validate([]) ?? "βœ… Valid"}');

  debugPrint('\nπŸ”˜ RequiredTrueValidator');
  final requiredTrue = RequiredTrueValidator();
  debugPrint('  Valid: ${requiredTrue.validate(true) ?? "βœ… Valid"}');
  debugPrint('  Invalid: ${requiredTrue.validate(false) ?? "βœ… Valid"}');
}
11
likes
0
points
123
downloads

Publisher

unverified uploader

Weekly Downloads

i_validator package provides a collection of common validation utilities such as email, password, phone number, OTP, and required fields validation. It also includes custom validation for confirm passwords and file formats, along with mixins for Stream-based validation.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on i_validator