23 lines
647 B
Dart
23 lines
647 B
Dart
import 'package:flutter/services.dart';
|
|
|
|
class TextFieldDateFormatter extends TextInputFormatter {
|
|
@override
|
|
TextEditingValue formatEditUpdate(
|
|
TextEditingValue oldValue,
|
|
TextEditingValue newValue,
|
|
) {
|
|
final text = newValue.text.replaceAll('/', '');
|
|
final buffer = StringBuffer();
|
|
for (int i = 0; i < text.length; i++) {
|
|
buffer.write(text[i]);
|
|
if (i == 1 && i + 1 != text.length) {
|
|
buffer.write('/');
|
|
}
|
|
}
|
|
final formattedText = buffer.toString();
|
|
return newValue.copyWith(
|
|
text: formattedText,
|
|
selection: TextSelection.collapsed(offset: formattedText.length),
|
|
);
|
|
}
|
|
} |