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.

39 lines
1.3KB

  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 void Function(String) validator;
  12. final void Function(String) onChanged;
  13. final String hintValue;
  14. final String labelText;
  15. WidgetTextFormFieldNumber(
  16. {@required this.textController,
  17. this.onSaved,
  18. @required this.hintValue,
  19. @required this.labelText,
  20. this.validator,
  21. this.onChanged});
  22. @override
  23. Widget build(BuildContext context) {
  24. return TextFormField(
  25. keyboardType: TextInputType.numberWithOptions(decimal: true),
  26. inputFormatters: [
  27. FilteringTextInputFormatter.allow(ConstCommon.regExpDecimal),
  28. ThousandsFormatter(allowFraction: true),
  29. ],
  30. decoration: InputDecoration(labelText: labelText, hintText: hintValue),
  31. validator: validator,
  32. controller: textController,
  33. onSaved: onSaved,
  34. onChanged: onChanged,
  35. );
  36. }
  37. }