formField<T> static method

Widget formField<T>(
  1. String label,
  2. String initialValue,
  3. void onSubmited(
    1. String value
    )?, {
  4. TextEditingController? controller,
  5. bool required = false,
})

Implementation

static Widget formField<T>(
  String label,
  String initialValue,
  void Function(String value)? onSubmited, {
  TextEditingController? controller,
  bool required = false,
}) {
  final primary = Get.find<PWThemeController>().theme.colorScheme.primary;
  return Padding(
    padding: const EdgeInsets.symmetric(vertical: 4),
    child: TextFormField(
      controller: controller ?? TextEditingController(text: initialValue),
      decoration: InputDecoration(
        labelText: label,
        border: OutlineInputBorder(
          borderSide: BorderSide(
            color: primary,
          ),
        ),
      ),
      onFieldSubmitted: onSubmited,
      textInputAction: TextInputAction.next,
      readOnly: onSubmited == null,
      validator: (value) {
        if (required && value == '') {
          return 'Campo obrigatório';
        }
        return null;
      },
    ),
  );
}