import 'package:farm_tpf/utils/const_common.dart'; import 'package:farm_tpf/utils/const_string.dart'; import 'package:farm_tpf/utils/validators.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:intl/intl.dart'; import 'package:pattern_formatter/pattern_formatter.dart'; class WidgetTextFormFieldNumber extends StatelessWidget { final TextEditingController textController; final void Function(String) onSaved; final void Function(String) validator; final String hintValue; WidgetTextFormFieldNumber( {@required this.textController, this.onSaved, @required this.hintValue, this.validator}); @override Widget build(BuildContext context) { return TextFormField( keyboardType: TextInputType.numberWithOptions(decimal: true), inputFormatters: [ FilteringTextInputFormatter.allow(ConstCommon.regExpDecimal), ThousandsFormatter( formatter: NumberFormat("#,###.####", "es"), allowFraction: true), ], decoration: InputDecoration(labelText: hintValue), validator: validator ?? (String value) { return Validators.validNumberOrEmpty(value, label_invalid_number); }, controller: textController, onSaved: onSaved, ); } }