diff --git a/lib/ui/screens/pay_form.dart b/lib/ui/screens/pay_form.dart index 7c1cc19f89aa68a3927a58885f9c25f512748b0e..6640e42bdb11504c43248f31ccf64714e4f794c5 100644 --- a/lib/ui/screens/pay_form.dart +++ b/lib/ui/screens/pay_form.dart @@ -1,5 +1,6 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import '../../data/models/payment_cubit.dart'; @@ -39,6 +40,7 @@ class _PayFormState extends State<PayForm> { const G1PayAmountField(), const SizedBox(height: 10.0), TextFormField( + inputFormatters: [NoNewLineTextInputFormatter()], controller: _commentController, onChanged: (String? value) { final bool validate = _commentValidate(); @@ -60,7 +62,6 @@ class _PayFormState extends State<PayForm> { } return null; }, - maxLines: null, ), const SizedBox(height: 10.0), ElevatedButton( @@ -161,3 +162,18 @@ class _PayFormState extends State<PayForm> { ); } } + +class NoNewLineTextInputFormatter extends TextInputFormatter { + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, TextEditingValue newValue) { + final String newText = newValue.text.replaceAll('\n', ''); + return TextEditingValue( + text: newText, + selection: newValue.selection.copyWith( + baseOffset: newText.length, + extentOffset: newText.length, + ), + ); + } +}