From be9a6fc93fed94a582da4d4a1517fa2ac3e9b7d5 Mon Sep 17 00:00:00 2001 From: Nilanjan Chakrabarti Date: Fri, 5 Sep 2025 12:02:48 +0530 Subject: [PATCH] Add Beneficiary bugs fixed --- .../screens/add_beneficiary_screen.dart | 39 ++++++++++--------- lib/main.dart | 18 +++++---- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/lib/features/beneficiaries/screens/add_beneficiary_screen.dart b/lib/features/beneficiaries/screens/add_beneficiary_screen.dart index d7745a9..f8ab5d5 100644 --- a/lib/features/beneficiaries/screens/add_beneficiary_screen.dart +++ b/lib/features/beneficiaries/screens/add_beneficiary_screen.dart @@ -23,7 +23,9 @@ class AddBeneficiaryScreen extends StatefulWidget { class _AddBeneficiaryScreen extends State { final _formKey = GlobalKey(); - + final _accountNumberFieldKey = GlobalKey(); +final _confirmAccountNumberFieldKey = GlobalKey(); +final _ifscFieldKey = GlobalKey(); final TextEditingController accountNumberController = TextEditingController(); final TextEditingController confirmAccountNumberController = TextEditingController(); @@ -237,6 +239,7 @@ class _AddBeneficiaryScreen extends State { child: Column( children: [ TextFormField( + key: _accountNumberFieldKey, controller: accountNumberController, decoration: InputDecoration( labelText: AppLocalizations.of( @@ -267,6 +270,7 @@ class _AddBeneficiaryScreen extends State { const SizedBox(height: 24), // Confirm Account Number TextFormField( + key: _confirmAccountNumberFieldKey, controller: confirmAccountNumberController, decoration: InputDecoration( labelText: AppLocalizations.of( @@ -285,15 +289,14 @@ class _AddBeneficiaryScreen extends State { ).reenterAccountNumber; } if (value != accountNumberController.text) { - return AppLocalizations.of( - context, - ).accountMismatch; + return AppLocalizations.of(context,).accountMismatch; } return null; }, ), const SizedBox(height: 24), TextFormField( + key: _ifscFieldKey, controller: ifscController, maxLength: 11, inputFormatters: [ @@ -390,20 +393,20 @@ class _AddBeneficiaryScreen extends State { child: SizedBox( width: double.infinity, child: ElevatedButton( - onPressed: _isValidating - ? null - : () { - if (confirmAccountNumberController - .text == - accountNumberController.text) { - _validateBeneficiary(); - } else { - setState(() { - _validationError = - 'Please enter a valid and matching account number.'; - }); - } - }, +onPressed: _isValidating + ? null + : () { + final isAccountValid = + _accountNumberFieldKey.currentState!.validate(); + final isConfirmAccountValid = + _confirmAccountNumberFieldKey.currentState!.validate(); + final isIfscValid = _ifscFieldKey.currentState!.validate(); + + if (isAccountValid && isConfirmAccountValid && isIfscValid) { + _validateBeneficiary(); + } + }, + child: _isValidating ? const SizedBox( width: 20, diff --git a/lib/main.dart b/lib/main.dart index d79c64f..cf2a1a5 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -15,15 +15,19 @@ void main() async { ]); // Check for device compromise - final compromisedMessage = await SecurityService.deviceCompromisedMessage; - if (compromisedMessage != null) { - runApp(MaterialApp( - home: SecurityErrorScreen(message: compromisedMessage), - )); - return; - } + // final compromisedMessage = await SecurityService.deviceCompromisedMessage; + // if (compromisedMessage != null) { + // runApp(MaterialApp( + // home: SecurityErrorScreen(message: compromisedMessage), + // )); + // return; + // } // Initialize dependencies await setupDependencies(); runApp(const KMobile()); } + + + +