IFSC Field Testing #2

This commit is contained in:
2025-09-16 12:59:31 +05:30
parent d2044d49b5
commit ba1ef0ed24
2 changed files with 28 additions and 6 deletions

View File

@@ -34,6 +34,7 @@ final _ifscFieldKey = GlobalKey<FormFieldState>();
final TextEditingController branchNameController = TextEditingController();
final TextEditingController ifscController = TextEditingController();
final TextEditingController phoneController = TextEditingController();
final _ifscFocusNode = FocusNode();
final service = getIt<BeneficiaryService>();
bool _isValidating = false;
@@ -45,6 +46,11 @@ final _ifscFieldKey = GlobalKey<FormFieldState>();
@override
void initState() {
super.initState();
_ifscFocusNode.addListener(() {
if (!_ifscFocusNode.hasFocus && ifscController.text.trim().length == 11) {
_validateIFSC();
}
});
WidgetsBinding.instance.addPostFrameCallback((_) {
setState(() {
accountType = 'Savings';
@@ -52,6 +58,19 @@ final _ifscFieldKey = GlobalKey<FormFieldState>();
});
}
@override
void dispose() {
accountNumberController.dispose();
confirmAccountNumberController.dispose();
nameController.dispose();
bankNameController.dispose();
branchNameController.dispose();
ifscController.dispose();
phoneController.dispose();
_ifscFocusNode.dispose();
super.dispose();
}
void _validateIFSC() async {
var beneficiaryService = getIt<BeneficiaryService>();
final ifsc = ifscController.text.trim().toUpperCase();
@@ -296,6 +315,7 @@ final _ifscFieldKey = GlobalKey<FormFieldState>();
),
const SizedBox(height: 24),
TextFormField(
focusNode: _ifscFocusNode,
key: _ifscFieldKey,
controller: ifscController,
maxLength: 11,
@@ -309,9 +329,6 @@ final _ifscFieldKey = GlobalKey<FormFieldState>();
),
textCapitalization: TextCapitalization.characters,
textInputAction: TextInputAction.next,
onFieldSubmitted: (_) {
_validateIFSC();
},
onChanged: (value) {
setState(() {
final trimmed = value.trim().toUpperCase();