i_validator 1.1.6
i_validator: ^1.1.6 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 [...]
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(min: 10)');
final minIntValidator = MinValueValidator(min: 10);
debugPrint(' Valid (15): ${minIntValidator.validate('15') ?? "ā
Valid"}');
debugPrint(' Invalid (5): ${minIntValidator.validate('5') ?? "ā
Valid"}');
debugPrint('\nā¬ļø MaxValueValidator(max: 99.5)');
final maxDoubleValidator = MaxValueValidator(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('š RequiredTrueValidator');
final requiredTrue = RequiredTrueValidator();
debugPrint(' Valid: ${requiredTrue.validate(true) ?? "ā
Valid"}');
debugPrint(' Invalid: ${requiredTrue.validate(false) ?? "ā
Valid"}');
}