I'm trying to capitialize the first letter of Textformfield
, for this I'm using the
textCapitalization: TextCapitalization.words,
but it's not working for Textformfield
, and works for textfield
Please help how to do this.
You can try with formatter for upper case, in TextFormField
you just use UpperCaseTextFormatter
class in input formatters section
TextFormField(
controller: _textEditingController,
inputFormatters: <TextInputFormatter>[
UpperCaseTextFormatter()
],
)
Upper text formatter
class UpperCaseTextFormatter extends TextInputFormatter {
@override
TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
return TextEditingValue(
text: capitalize(newValue.text),
selection: newValue.selection,
);
}
}
String capitalize(String value) {
if(value.trim().isEmpty) return "";
return "${value[0].toUpperCase()}${value.substring(1).toLowerCase()}";
}
output: