IFSC Field Testing #2
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -39,6 +39,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
|
||||
final phoneController = TextEditingController();
|
||||
final amountController = TextEditingController();
|
||||
final remarksController = TextEditingController();
|
||||
final _ifscFocusNode = FocusNode();
|
||||
final service = getIt<BeneficiaryService>();
|
||||
|
||||
late String accountType;
|
||||
@@ -49,6 +50,11 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_ifscFocusNode.addListener(() {
|
||||
if (!_ifscFocusNode.hasFocus && ifscController.text.trim().length == 11) {
|
||||
_validateIFSC();
|
||||
}
|
||||
});
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
setState(() {
|
||||
accountType = 'Savings';
|
||||
@@ -139,6 +145,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
|
||||
amountController.dispose();
|
||||
remarksController.dispose();
|
||||
super.dispose();
|
||||
_ifscFocusNode.dispose();
|
||||
}
|
||||
|
||||
void _onProceedToPay() {
|
||||
@@ -479,6 +486,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
|
||||
children: [
|
||||
Expanded(
|
||||
child: TextFormField(
|
||||
focusNode: _ifscFocusNode,
|
||||
maxLength: 11,
|
||||
inputFormatters: [
|
||||
LengthLimitingTextInputFormatter(11),
|
||||
@@ -501,9 +509,6 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
|
||||
),
|
||||
controller: ifscController,
|
||||
textInputAction: TextInputAction.next,
|
||||
onFieldSubmitted: (_) {
|
||||
_validateIFSC();
|
||||
},
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
final trimmed = value.trim().toUpperCase();
|
||||
|
||||
Reference in New Issue
Block a user