i_validator 1.0.8
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"}');
}