IFSC bug fixed

This commit is contained in:
2025-09-22 15:10:19 +05:30
parent b00bc6c8c0
commit 475f30a4bb
2 changed files with 55 additions and 21 deletions

View File

@@ -71,26 +71,43 @@ final _ifscFieldKey = GlobalKey<FormFieldState>();
super.dispose(); super.dispose();
} }
void _validateIFSC() async { void _validateIFSC() async {
var beneficiaryService = getIt<BeneficiaryService>(); var beneficiaryService = getIt<BeneficiaryService>();
final ifsc = ifscController.text.trim().toUpperCase(); final ifsc = ifscController.text.trim().toUpperCase();
if (ifsc.isEmpty) return; if (ifsc.isEmpty) return;
final result = await beneficiaryService.validateIFSC(ifsc); try {
final result = await beneficiaryService.validateIFSC(ifsc);
if (mounted) {
if (result.bankName == null || result.bankName.isEmpty) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(AppLocalizations.of(context).invalidIfsc)),
);
bankNameController.clear();
branchNameController.clear();
} else {
bankNameController.text = result.bankName;
branchNameController.text = result.branchName;
}
}
} catch (e) {
if (mounted) {
final errorMessage = e.toString().toUpperCase();
String snackbarMessage = AppLocalizations.of(context).somethingWentWrong;
if (errorMessage.contains('INVALID') && errorMessage.contains('IFSC')) {
snackbarMessage = AppLocalizations.of(context).invalidIfsc;
}
if (mounted) {
if (result.bankName == '') {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(AppLocalizations.of(context).invalidIfsc)), SnackBar(content: Text(snackbarMessage)),
); );
bankNameController.clear(); bankNameController.clear();
branchNameController.clear(); branchNameController.clear();
} else {
bankNameController.text = result.bankName;
branchNameController.text = result.branchName;
} }
} }
} }
void _validateBeneficiary() async { void _validateBeneficiary() async {
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();
@@ -354,7 +371,7 @@ final _ifscFieldKey = GlobalKey<FormFieldState>();
}, },
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
// 🔹 Bank Name (Disabled) // Bank Name (Disabled)
TextFormField( TextFormField(
controller: bankNameController, controller: bankNameController,
enabled: false, // changed from readOnly to disabled enabled: false, // changed from readOnly to disabled

View File

@@ -66,21 +66,38 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
final ifsc = ifscController.text.trim().toUpperCase(); final ifsc = ifscController.text.trim().toUpperCase();
if (ifsc.isEmpty) return; if (ifsc.isEmpty) return;
final result = await service.validateIFSC(ifsc); try {
final result = await service.validateIFSC(ifsc);
if (mounted) {
if (result.bankName == null || result.bankName.isEmpty) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(AppLocalizations.of(context).invalidIfsc)),
);
bankNameController.clear();
branchNameController.clear();
} else {
bankNameController.text = result.bankName;
branchNameController.text = result.branchName;
}
}
} catch (e) {
if (mounted) {
final errorMessage = e.toString().toUpperCase();
String snackbarMessage = AppLocalizations.of(context).somethingWentWrong;
if (errorMessage.contains('INVALID') && errorMessage.contains('IFSC')) {
snackbarMessage = AppLocalizations.of(context).invalidIfsc;
}
if (mounted) {
if (result.bankName == '') {
ScaffoldMessenger.of(context).showSnackBar( ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text(AppLocalizations.of(context).invalidIfsc)), SnackBar(content: Text(snackbarMessage)),
); );
bankNameController.clear(); bankNameController.clear();
branchNameController.clear(); branchNameController.clear();
} else {
bankNameController.text = result.bankName;
branchNameController.text = result.branchName;
} }
} }
} }
void _validateBeneficiary() async { void _validateBeneficiary() async {
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();