riverpod_form_binder

pub package Build Status License: MIT Flutter

A reactive form binding, state management, and debounced validation engine for Riverpod 2.0 in Flutter applications.


๐ŸŒŸ Key Features

  • โšก Riverpod 2.0 Integration: Built natively for StateNotifier / Notifier providers.
  • ๐ŸŽฏ Declarative Chainable Validation: Fluent API for required, email, minLength, regex patterns, and custom sync rules.
  • โณ Debounced Async Validation: Auto-debounces asynchronous server validation (e.g. username availability check).
  • ๐Ÿ” Field Lifecycle Tracking: Tracks isDirty, isTouched, isValidating, error, and value per field.
  • ๐Ÿงช Testable: Pure Dart state logic cleanly decoupled from Flutter UI code.

๐Ÿ“ฆ Installation

Add riverpod_form_binder to your pubspec.yaml:

dependencies:
  riverpod_form_binder: ^1.0.0
  flutter_riverpod: ^2.5.0

๐Ÿš€ Quick Start

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_form_binder/riverpod_form_binder.dart';

class SignupFormNotifier extends FormBinderNotifier {
  SignupFormNotifier() {
    registerField<String>(
      'email',
      initialValue: '',
      validator: FieldValidator<String>()
          .required('Email is required')
          .email('Enter a valid email'),
    );
  }
}

๐Ÿ“„ License

MIT License - Developed with โค๏ธ by Olamilekan Adeyemi (@lekthedeveloper).