textControlBuilder function

AbstractControl textControlBuilder(
  1. BuildContext context,
  2. Elementbase element, {
  3. dynamic validators = const <ValidatorFunction>[],
  4. Object? value,
})

Implementation

AbstractControl textControlBuilder(BuildContext context, s.Elementbase element,
    {validators = const <ValidatorFunction>[], Object? value}) {
  final e = element as s.Text;
  if (e.inputType == s.TextInputType.date ||
      e.inputType == s.TextInputType.datetimeLocal) {
    return FormControl<String>(
        validators: validators,
        value: e.defaultValue.tryCastToString() ?? value.tryCastToString());
  }
  if (e.inputType == s.TextInputType.color) {
    return FormControl<String>(
        validators: validators,
        value: e.defaultValue.tryCastToString() ?? value.tryCastToString());
  }
  if (e.inputType == s.TextInputType.email) {
    return FormControl<String>(
        validators: [...validators, Validators.email],
        value: e.defaultValue.tryCastToString() ?? value.tryCastToString());
  }
  if (e.inputType == s.TextInputType.number) {
    return FormControl<num>(
        validators: [...validators, NullableNumberValidator().validate],
        value: e.defaultValue.tryCastToNum() ?? value.tryCastToNum());
  }
  return FormControl<String>(
      validators: validators,
      value: e.defaultValue.tryCastToString() ?? value.tryCastToString());
}