Skip to content

API: FormBuilder DSL

The FormBuilder class provides a fluent API for constructing Form instances. Import from package:vyuh_feature_forms/dsl/form_builder.dart.

FormBuilder

Class Signature

Methods

  • description
    FormBuilder description(String text)

    Set the form description.

  • hSpacing
    FormBuilder hSpacing(double value)

    Set horizontal grid spacing.

  • vSpacing
    FormBuilder vSpacing(double value)

    Set vertical grid spacing.

  • text
    TextFieldBuilder text(String name, {required String title})

    Add a text field. Auto-finalizes the previous field builder.

  • number
    NumberFieldBuilder number(String name, {required String title})

    Add a number field. Auto-finalizes the previous field builder.

  • select
    SelectFieldBuilder select(String name, {required String title})

    Add a select field. Auto-finalizes the previous field builder.

  • boolean
    BooleanFieldBuilder boolean(String name, {required String title})

    Add a boolean field. Auto-finalizes the previous field builder.

  • dateTime
    DateTimeFieldBuilder dateTime(String name, {required String title})

    Add a date/time field. Auto-finalizes the previous field builder.

  • slider
    SliderFieldBuilder slider(String name, {required String title, required double min, required double max, required int divisions})

    Add a slider field. Auto-finalizes the previous field builder.

  • phone
    PhoneFieldBuilder phone(String name, {required String title})

    Add a phone field. Auto-finalizes the previous field builder.

  • file
    FileFieldBuilder file(String name, {required String title})

    Add a file picker field. Auto-finalizes the previous field builder.

  • image
    ImageFieldBuilder image(String name, {required String title})

    Add an image picker field. Auto-finalizes the previous field builder.

  • formula
    FormulaFieldBuilder formula(String name, {required String title, required String expression})

    Add a formula field. Auto-finalizes the previous field builder.

  • reference
    ReferenceFieldBuilder reference(String name, {required String title})

    Add a reference field. Auto-finalizes the previous field builder.

  • section
    FormBuilder section(String title, void Function(FormBuilder) configure, {String? description, bool collapsible = false, bool initiallyCollapsed = false, List<FormFieldRule>? rules})

    Add a visual section that groups its configured fields.

  • build
    Form build({Map<String, dynamic>? initialValues})

    Finalize the builder and produce a Form instance.

Each field-creation method auto-finalizes the previous field builder and returns a new one.


FieldBuilder

abstract

Class Signature

Abstract base class for all field builders. TSelf is the concrete builder type for fluent chaining. Every field builder also exposes all FormBuilder field-creation methods (.text(), .number(), .select(), etc.), .section(), and .build(). Calling any of these auto-finalizes the current field and delegates to the parent FormBuilder.


TextFieldBuilder

Class Signature


NumberFieldBuilder

Class Signature


SelectFieldBuilder

Class Signature


BooleanFieldBuilder

Class Signature


DateTimeFieldBuilder

Class Signature

SliderFieldBuilder

No additional methods beyond the base. Min, max, and divisions are set in the constructor:

dart
.slider('rating', title: 'Rating', min: 1, max: 5, divisions: 4)

PhoneFieldBuilder

No additional methods beyond the base.


FileFieldBuilder

Class Signature


ImageFieldBuilder

Class Signature


FormulaFieldBuilder

Class Signature

Expression is set in the constructor.


ReferenceFieldBuilder

Class Signature


When

Class Signature

Fluent builder for creating FormFieldRule instances.

Next Steps