BloomFormGroup constructor

BloomFormGroup(
  1. Map<String, BloomFormControl> fields, {
  2. List<String? Function(Map<String, dynamic>)> validators = const [],
  3. List<Future<String?> Function(Map<String, dynamic> values)> asyncValidators = const [],
  4. Duration asyncDebounce = const Duration(milliseconds: 300),
})

Creates a BloomFormGroup managing the given map of named fields.

Implementation

BloomFormGroup(
  Map<String, BloomFormControl> fields, {
  this.validators = const [],
  this.asyncValidators = const [],
  this.asyncDebounce = const Duration(milliseconds: 300),
}) : _fields = fields {
  errors = signal<List<String>>([]);
  isTouched = signal(false);
  isValid = computed(() =>
      errors.value.isEmpty && _fields.values.every((f) => f.isValid.value));
  isDirty = computed(() => _fields.values.any((f) => f.isDirty.value));
  isValidating = computed(() =>
      _groupValidating.value ||
      _fields.values.any((f) => f.isValidating.value));
}