textFormEntry method
Generic text form field
Implementation
Widget textFormEntry({
String title = 'Text',
String subTitle = 'Enter text',
String hint = 'Text',
IconData iconData = Icons.text_fields,
Function(String?)? onSaved,
String? Function(String?)? validator,
String? defaultValue,
TextEditingController? controller,
}) {
return formEntry(
title: title,
subTitle: subTitle,
inputWidget: TextFormField(
onChanged: (_) {
widget.formKey.currentState?.save();
widget.onModified?.call();
},
style: Theme.of(context).textTheme.bodyLarge,
enabled: isEdit,
controller: controller ?? TextEditingController(text: defaultValue),
decoration: InputDecoration(
hintText: hint,
prefixIcon: Icon(iconData),
border: OutlineInputBorder(borderRadius: BorderRadius.circular(8)),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: BorderSide(color: Colors.grey[300]!),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: const BorderSide(color: Colors.blue),
),
),
validator:
validator ?? (value) => value?.isEmpty == true ? 'Required' : null,
onSaved: onSaved,
),
);
}