add validation in input form field

This commit is contained in:
sma
2024-02-28 17:07:23 +06:30
parent c06da8a60c
commit e00545a3d7
8 changed files with 278 additions and 177 deletions

View File

@@ -24,6 +24,7 @@ class _DiscountByWeightEditorState extends State<DiscountByWeightEditor> {
bool _isLoading = false;
bool _isNew = false;
DiscountByWeight _discountByWeight = new DiscountByWeight();
final _discountFormKey = GlobalKey<FormState>();
@override
void initState() {
@@ -46,13 +47,29 @@ class _DiscountByWeightEditorState extends State<DiscountByWeightEditor> {
@override
Widget build(BuildContext context) {
final weightBox = InputText(
labelTextKey: 'rate.discount.weight',
iconData: FontAwesomeIcons.weightHanging,
controller: _weightController);
labelTextKey: 'rate.discount.weight',
iconData: FontAwesomeIcons.weightHanging,
controller: _weightController,
autovalidateMode: AutovalidateMode.onUserInteraction,
validator: (value) {
if (value == null || value.isEmpty) {
return "Please inset weight";
}
return null;
},
);
final discountRateBox = InputText(
labelTextKey: 'rate.discount.rate',
iconData: Icons.attach_money,
controller: _discountController);
labelTextKey: 'rate.discount.rate',
iconData: Icons.attach_money,
controller: _discountController,
autovalidateMode: AutovalidateMode.onUserInteraction,
validator: (value) {
if (value == null || value.isEmpty) {
return "Please insert discount rate";
}
return null;
},
);
return LocalProgress(
inAsyncCall: _isLoading,
@@ -80,23 +97,26 @@ class _DiscountByWeightEditorState extends State<DiscountByWeightEditor> {
)
],
),
body: Container(
padding: EdgeInsets.all(18),
child: Column(
children: <Widget>[
Expanded(
child: ListView(
children: <Widget>[
weightBox,
discountRateBox,
SizedBox(height: 30),
],
body: Form(
key: _discountFormKey,
child: Container(
padding: EdgeInsets.all(18),
child: Column(
children: <Widget>[
Expanded(
child: ListView(
children: <Widget>[
weightBox,
discountRateBox,
SizedBox(height: 30),
],
),
),
),
fcsButton(context, getLocalString(context, "btn.save"),
callack: _save),
SizedBox(height: 10)
],
fcsButton(context, getLocalString(context, "btn.save"),
callack: _save),
SizedBox(height: 10)
],
),
),
),
),
@@ -104,13 +124,7 @@ class _DiscountByWeightEditorState extends State<DiscountByWeightEditor> {
}
_save() async {
if (_weightController.text == "") {
showMsgDialog(context, "Error", "Please insert weight");
return;
}
if (_discountController.text == "") {
showMsgDialog(context, "Error", "Please insert discount rate");
if (!_discountFormKey.currentState!.validate()) {
return;
}