text_field_validator 1.1.1 copy "text_field_validator: ^1.1.1" to clipboard
text_field_validator: ^1.1.1 copied to clipboard

A flutter package for both Android and iOS which provides the validation functionalities for the input fields.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:text_field_validator/input_formatter.dart';
import 'package:text_field_validator/text_field_validator.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Text Field Validator Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Validator Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Container(
        padding: const EdgeInsets.symmetric(horizontal: 16),
        child: Center(
          child: ListView(
            children: <Widget>[
              Text("Validators",
                  style: Theme.of(context).textTheme.headlineMedium),
              const SizedBox(height: 10),
              TextFormField(
                  validator: (value) {
                    return TextFieldValidator.textValidator(
                      value: value,
                      minLength: 2,
                      maxLength: 5,
                    );
                  },
                  autovalidateMode: AutovalidateMode.onUserInteraction),
              const SizedBox(height: 20),
              TextFormField(
                validator: (value) {
                  return TextFieldValidator.passWordValidator(
                    password: value,
                    minPasswordLength: 8,
                  );
                },
                autovalidateMode: AutovalidateMode.onUserInteraction,
              ),
              TextFormField(
                validator: (value) {
                  return TextFieldValidator.urlValidator(
                    url: value,
                  );
                },
                keyboardType: TextInputType.url,
                autovalidateMode: AutovalidateMode.onUserInteraction,
              ),
              const SizedBox(height: 30),
              Text("Input Formatters",
                  style: Theme.of(context).textTheme.headlineMedium),
              const SizedBox(height: 10),
              TextFormField(
                  decoration:
                      const InputDecoration(labelText: 'Adhar Input Formatter'),
                  inputFormatters: InputFormatter.adharFormatter()),
              const SizedBox(height: 20),
              TextFormField(
                decoration:
                    const InputDecoration(labelText: 'PAN Input Formatter'),
                inputFormatters: InputFormatter.panFormatter(),
              ),
              const SizedBox(height: 20),
              TextFormField(
                decoration:
                    const InputDecoration(labelText: 'Date Input Formatter'),
                inputFormatters: InputFormatter.dateFormatter(
                  FormatterEnum.hhmmssMMDDYYYY24,
                ),
              ),
              const SizedBox(height: 20),
              TextFormField(
                decoration: const InputDecoration(
                    labelText: 'Alphabet Input Formatter'),
                inputFormatters: InputFormatter.alphabetFormatter(),
              ),
              const SizedBox(height: 20),
              TextFormField(
                decoration:
                    const InputDecoration(labelText: 'Credit Card Formatter'),
                keyboardType: TextInputType.number,
                inputFormatters: InputFormatter.creditCardNumberFormatter(),
              ),
              const SizedBox(height: 20),
              TextFormField(
                decoration:
                    const InputDecoration(labelText: 'Phone Number Formatter'),
                keyboardType: TextInputType.phone,
                inputFormatters: InputFormatter.phoneNumberFormatter(),
              ),
              const SizedBox(height: 20),
              TextFormField(
                decoration: const InputDecoration(
                    labelText: 'Decimal Number Formatter'),
                keyboardType:
                    const TextInputType.numberWithOptions(decimal: true),
                inputFormatters: InputFormatter.decimalFormatter(),
              ),
              const SizedBox(height: 20),
              TextFormField(
                decoration: const InputDecoration(
                    labelText: 'Integer Number Formatter'),
                keyboardType: TextInputType.number,
                inputFormatters: InputFormatter.numberFormatter(),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
2
likes
0
points
90
downloads

Publisher

unverified uploader

Weekly Downloads

A flutter package for both Android and iOS which provides the validation functionalities for the input fields.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on text_field_validator