final_forms 2.0.0 copy "final_forms: ^2.0.0" to clipboard
final_forms: ^2.0.0 copied to clipboard

A standalone Flutter form package with validation, custom field builders, and programmatic control. Zero external dependencies.

example/lib/main.dart

import 'package:flutter/material.dart';

import 'examples/basic_form_example.dart';
import 'examples/registration_example.dart';
import 'examples/login_example.dart';
import 'examples/custom_fields_example.dart';
import 'examples/validation_example.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'FinalForms Examples',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const ExampleListScreen(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    final examples = [
      ('Basic Form', const BasicFormExample()),
      ('Registration Form', const RegistrationExample()),
      ('Login Form', const LoginExample()),
      ('Custom Fields', const CustomFieldsExample()),
      ('Validation Demo', const ValidationExample()),
    ];

    return Scaffold(
      appBar: AppBar(
        title: const Text('FinalForms Examples'),
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
      ),
      body: ListView.separated(
        itemCount: examples.length,
        separatorBuilder: (context, index) => const Divider(height: 1),
        itemBuilder: (context, index) {
          final (title, widget) = examples[index];
          return ListTile(
            title: Text(title),
            trailing: const Icon(Icons.chevron_right),
            onTap: () => Navigator.push(
              context,
              MaterialPageRoute(
                builder: (_) => Scaffold(
                  appBar: AppBar(
                    title: Text(title),
                    backgroundColor: Theme.of(context).colorScheme.inversePrimary,
                  ),
                  body: SingleChildScrollView(
                    padding: const EdgeInsets.all(16),
                    child: widget,
                  ),
                ),
              ),
            ),
          );
        },
      ),
    );
  }
}
2
likes
150
points
151
downloads

Publisher

unverified uploader

Weekly Downloads

A standalone Flutter form package with validation, custom field builders, and programmatic control. Zero external dependencies.

Repository (GitHub)
View/report issues

Topics

#form #validation #widget #form-builder

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on final_forms