fix: add validation form

This commit is contained in:
Dian Bayu Nugroho 2024-02-26 13:21:20 +07:00
parent f2f688f9f3
commit 4461b78565

View File

@ -2,6 +2,7 @@ import 'package:cims_apps/application/component/button/button_view.dart';
import 'package:cims_apps/application/component/select_form/select_form_view.dart'; import 'package:cims_apps/application/component/select_form/select_form_view.dart';
import 'package:cims_apps/application/component/text_caption/text_caption.dart'; import 'package:cims_apps/application/component/text_caption/text_caption.dart';
import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/route/route.dart';
import 'package:cims_apps/core/utils/size_config.dart';
import 'package:cims_apps/features/auth/registration/view/submission_data/submission_parent.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submission_parent.dart';
import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -17,12 +18,13 @@ class SubmitPersonalData extends StatelessWidget {
builder: (context, child) { builder: (context, child) {
return Consumer<SubmissionDataViewModel>( return Consumer<SubmissionDataViewModel>(
builder: (context, provider, child) { builder: (context, provider, child) {
return SingleChildScrollView( return SizedBox(
height: SizeConfig.height * .78,
child: Form( child: Form(
key: provider.formKeyPersonalData, key: provider.formKeyPersonalData,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [ children: [
const TextCaption(title: 'Your personal details'), const TextCaption(title: 'Your personal details'),
SelectFormView( SelectFormView(
@ -31,6 +33,12 @@ class SubmitPersonalData extends StatelessWidget {
ctrl: provider.ctrlOccupation, ctrl: provider.ctrlOccupation,
listItem: provider.listOccupation, listItem: provider.listOccupation,
onSelect: (value) {}, onSelect: (value) {},
validator: (value) {
if (value!.isEmpty) {
return 'Field must be filled';
}
return null;
},
), ),
SelectFormView( SelectFormView(
name: 'Income Level (IDR)', name: 'Income Level (IDR)',
@ -38,6 +46,12 @@ class SubmitPersonalData extends StatelessWidget {
ctrl: provider.ctrlIncome, ctrl: provider.ctrlIncome,
listItem: provider.listIncome, listItem: provider.listIncome,
onSelect: (value) {}, onSelect: (value) {},
validator: (value) {
if (value!.isEmpty) {
return 'Field must be filled';
}
return null;
},
), ),
SelectFormView( SelectFormView(
name: 'Marital Status', name: 'Marital Status',
@ -45,6 +59,12 @@ class SubmitPersonalData extends StatelessWidget {
ctrl: provider.ctrlMarital, ctrl: provider.ctrlMarital,
listItem: provider.listMarital, listItem: provider.listMarital,
onSelect: (value) {}, onSelect: (value) {},
validator: (value) {
if (value!.isEmpty) {
return 'Field must be filled';
}
return null;
},
), ),
SelectFormView( SelectFormView(
name: 'Source of Fund', name: 'Source of Fund',
@ -52,20 +72,28 @@ class SubmitPersonalData extends StatelessWidget {
ctrl: provider.ctrlSourceFund, ctrl: provider.ctrlSourceFund,
listItem: provider.listSourceFund, listItem: provider.listSourceFund,
onSelect: (value) {}, onSelect: (value) {},
validator: (value) {
if (value!.isEmpty) {
return 'Field must be filled';
}
return null;
},
), ),
Align( // SizedBox(height: SizeConfig.height * .18),
alignment: Alignment.bottomCenter, ButtonView(
child: ButtonView( marginVertical: 0,
name: 'Next', name: 'Next',
onPressed: () async { onPressed: () async {
if (provider.formKeyPersonalData.currentState!
.validate()) {
await provider.next(context).then((value) { await provider.next(context).then((value) {
if (value) { if (value) {
routePush(context, routePush(context,
page: const SubmissionParent()); page: const SubmissionParent());
} }
}); });
}, }
), },
) )
], ],
), ),