turbo_forms 1.0.0
turbo_forms: ^1.0.0 copied to clipboard
Form configuration and validation system for Flutter.
📝 Turbo Forms #
Turbo Forms is a comprehensive form configuration and validation system for Flutter applications. It provides a type-safe, reactive approach to building and managing forms with built-in validation, state management, and UI components.
Features #
- Type-Safe Forms: Strongly typed form fields with generic support
- Reactive State Management: Built on
turbo_notifiersfor reactive form state - Built-in Validators: Common validators for email, required fields, and more
- Custom Validators: Easy-to-create custom validation logic
- Multiple Field Types: Support for text input, select, checkbox, color picker, and more
- Form Field Builders: Flexible widget builders for custom UI rendering
Installation #
Add turbo_forms to your pubspec.yaml file:
dependencies:
flutter:
sdk: flutter
turbo_forms: ^1.0.0
Then run:
flutter pub get
Usage #
import 'package:turbo_forms/turbo_forms.dart';
// Create a form field configuration
final emailField = TurboFormFieldConfig<String>(
fieldType: TurboFieldType.textInput,
id: 'email',
valueValidator: (value) {
if (value == null || value.isEmpty) {
return 'Email is required';
}
if (!EmailValidator.validate(value)) {
return 'Invalid email format';
}
return null;
},
);
// Use in a widget
TurboFormField<String>(
fieldConfig: emailField,
builder: (context, fieldConfig, child) {
return TextFormField(
onChanged: (value) => fieldConfig.update(value),
validator: fieldConfig.value.valueValidator,
);
},
)
Example #
Check the /example directory for a complete Flutter application demonstrating Turbo Forms features.
Contributing #
Contributions are welcome! Please open issues or pull requests on our GitHub repository.
License #
This package is licensed under the BSD 3-Clause License. See the LICENSE file for details.