2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-13 18:55:34 +00:00

Add "QuantityField"

Juicy juicy refactoring
This commit is contained in:
Oliver Walters
2020-04-18 22:07:02 +10:00
parent 51a877e8d7
commit a7d11faec8
8 changed files with 102 additions and 67 deletions

26
lib/widget/fields.dart Normal file
View File

@ -0,0 +1,26 @@
import 'package:flutter/material.dart';
class QuantityField extends TextFormField {
QuantityField({String label = "", String hint = "", double max = null, TextEditingController controller}) :
super(
decoration: InputDecoration(
labelText: label,
hintText: hint,
),
controller: controller,
keyboardType: TextInputType.numberWithOptions(signed: false, decimal: true),
validator: (value) {
if (value.isEmpty) return "Quantity is empty";
double quantity = double.tryParse(value);
if (quantity == null) return "Invalid quantity";
if (quantity <= 0) return "Quantity must be positive";
if ((max != null) && (quantity > max)) return "Quantity must not exceed ${max}";
return null;
},
);
}