flutter_form_builder 9.0.0-dev.1
flutter_form_builder: ^9.0.0-dev.1 copied to clipboard
This package helps in creation of forms in Flutter by removing the boilerplate code, reusing validation, react to changes, and collect final user input.
example/lib/main.dart
import 'package:example/sources/conditional_fields.dart';
import 'package:example/sources/dynamic_fields.dart';
import 'package:example/sources/related_fields.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:form_builder_validators/form_builder_validators.dart';
import 'code_page.dart';
import 'sources/complete_form.dart';
import 'sources/custom_fields.dart';
import 'sources/signup_form.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
title: 'Flutter FormBuilder Demo',
debugShowCheckedModeBanner: false,
localizationsDelegates: [
FormBuilderLocalizations.delegate,
...GlobalMaterialLocalizations.delegates,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: FormBuilderLocalizations.supportedLocales,
home: _HomePage(),
);
}
}
class _HomePage extends StatelessWidget {
const _HomePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return CodePage(
title: 'Flutter Form Builder',
child: ListView(
children: <Widget>[
ListTile(
title: const Text('Complete Form'),
trailing: const Icon(Icons.arrow_right_sharp),
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return const CodePage(
title: 'Complete Form',
child: CompleteForm(),
);
},
),
);
},
),
const Divider(),
ListTile(
title: const Text('Custom Fields'),
trailing: const Icon(Icons.arrow_right_sharp),
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return const CodePage(
title: 'Custom Fields',
child: CustomFields(),
);
},
),
);
},
),
const Divider(),
ListTile(
title: const Text('Signup Form'),
trailing: const Icon(Icons.arrow_right_sharp),
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return const CodePage(
title: 'Signup Form',
child: SignupForm(),
);
},
),
);
},
),
const Divider(),
ListTile(
title: const Text('Dynamic Form'),
trailing: const Icon(Icons.arrow_right_sharp),
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return const CodePage(
title: 'Dynamic Form',
child: DynamicFields(),
);
},
),
);
},
),
const Divider(),
ListTile(
title: const Text('Conditional Form'),
trailing: const Icon(Icons.arrow_right_sharp),
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return const CodePage(
title: 'Conditional Form',
child: ConditionalFields(),
);
},
),
);
},
),
const Divider(),
ListTile(
title: const Text('Related Fields'),
trailing: const Icon(Icons.arrow_right_sharp),
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return const CodePage(
title: 'Related Fields',
child: RelatedFields(),
);
},
),
);
},
),
],
),
);
}
}