handleChange method

void handleChange(
  1. Field field,
  2. dynamic value
)

Implementation

void handleChange(Field field, dynamic value) {
  var convertedValue = convertDataType(field.dataType, value);
  values[field.name] = convertedValue;
  touched[field.name] = true; // Mark field as touched
  // Only validate if field is touched or form is submitted
  if (touched[field.name] == true || submitted) {
    validateField(field);
  }

  processFieldLogic(field);

  for (final dependentField in allFields) {
    if (dependentField.dependentOn?.contains(field.name) == true) {
      // Optionally clear the value if dependency is now invalid
      // values[dependentField.name] = null;
      // Fetch new options for the dependent field
      processFieldLogic(dependentField);
    }
  }
  notifyListeners();
}