You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.2KB

  1. import 'package:farm_tpf/utils/const_common.dart';
  2. import 'package:farm_tpf/utils/const_string.dart';
  3. import 'package:farm_tpf/utils/validators.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:flutter/services.dart';
  6. import 'package:intl/intl.dart';
  7. import 'package:pattern_formatter/pattern_formatter.dart';
  8. class WidgetTextFormFieldNumber extends StatelessWidget {
  9. final TextEditingController textController;
  10. final void Function(String?)? onSaved;
  11. final String? Function(String?)? validator;
  12. final void Function(String?)? onChanged;
  13. final String hintValue;
  14. final String labelText;
  15. WidgetTextFormFieldNumber(
  16. {required this.textController, this.onSaved, required this.hintValue, required this.labelText, this.validator, this.onChanged});
  17. @override
  18. Widget build(BuildContext context) {
  19. return TextFormField(
  20. keyboardType: TextInputType.numberWithOptions(decimal: true),
  21. inputFormatters: [
  22. FilteringTextInputFormatter.allow(ConstCommon.regExpDecimal),
  23. ThousandsFormatter(allowFraction: true),
  24. ],
  25. decoration: InputDecoration(labelText: labelText, hintText: hintValue),
  26. validator: validator,
  27. controller: textController,
  28. onSaved: onSaved,
  29. onChanged: onChanged,
  30. );
  31. }
  32. }