custom_form_validator 0.0.1 copy "custom_form_validator: ^0.0.1" to clipboard
custom_form_validator: ^0.0.1 copied to clipboard

A simple and customizable Flutter package for validating form fields with ease.

example/example.dart

import 'dart:async';
import 'package:custom_form_validator/custom_form_validator.dart';
import 'package:intl/intl.dart';
import 'package:intl/date_symbol_data_local.dart';




Future<void> main() async {
  // Set default locale (so messages are localized properly)
    // Initialize locale data
  await initializeDateFormatting('en', null);
  Intl.defaultLocale = 'en';

  print('--- Email Validation ---');
  final emailValidator = Validators.combine([
    Validators.required(message: 'Email is required'),
    Validators.email(message: 'Invalid email address'),
  ]);

  print(emailValidator(''));               // -> "Email is required"
  print(emailValidator('not-an-email'));   // -> "Invalid email address"
  print(emailValidator('hello@mail.com')); // -> null (valid)
  print(emailValidator('Hello@gmail.com'));
  print('\n--- Password Validation ---');
  final passwordValidator = Validators.password(
    minLength: 8,
    hasUppercase: true,
    hasDigits: true,
    message: 'Weak password',
  );

  print(passwordValidator('abc'));          // -> "Weak password"
  print(passwordValidator('Abc12345'));     // -> null (valid)

  print('\n--- CNIC Validation ---');
  final cnicValidator = Validators.cnic();
  print(cnicValidator('12345-1234567-1')); // -> null (valid format)
  print(cnicValidator('1234567'));         // -> "Invalid CNIC"

print('\n--- Name Validation ---');
final nameValidator = Validators.name();
print(nameValidator(''));           // "Invalid name"
print(nameValidator('A'));          // "Invalid name"
print(nameValidator('John Doe'));   // null (valid)

print('\n--- Credit Card Validation ---');
final ccValidator = Validators.creditCard();
print(ccValidator('1234 5678 9012 3456')); // "Invalid credit card number"
print(ccValidator('4111 1111 1111 1111')); // null (valid Visa test card)

print('\n--- Confirm Password ---');
final confirmValidator = Validators.confirmPassword('MySecret123');
print(confirmValidator('wrongpass')); // "Passwords do not match"
print(confirmValidator('MySecret123')); // null

print('\n--- URL Validation ---');
final urlValidator = Validators.url();
print(urlValidator('google.com'));       // null (valid)
print(urlValidator('https://flutter.dev')); // null (valid)
print(urlValidator('not_a_url'));        // "Invalid URL"


 print('\n--- Date Validation ---');
final dateValidator = Validators.date(
 format: 'yyyy-MM-dd'

);

print(dateValidator('2025-09-25')); // -> null (valid, yyyy-MM-dd)
print(dateValidator('25-09-2025')); // -> null (valid, dd-MM-yyyy)
print(dateValidator('09/25/2025')); // -> "Invalid date"


print('\n--- Time Validation ---');
final timeValidator = Validators.time();
print(timeValidator('14:30')); // null (valid)
print(timeValidator('99:99')); // "Invalid time"


}
1
likes
150
points
13
downloads

Publisher

unverified uploader

Weekly Downloads

A simple and customizable Flutter package for validating form fields with ease.

Documentation

API reference

License

MIT (license)

Dependencies

flutter, intl, libphonenumber_plugin

More

Packages that depend on custom_form_validator