在开发过程中,涉及到支付或者提现等功能,我们都会对输入框里的内容进行处理,判断输入的内容是否符合金额形式,如果不符合我们要根据输入的内容作出相应的判断,例如禁止继续输入或弹出提示框告诉金额形式输入有误等。
下面就是一位博主写的方法,大家可以参考,如果对原文感兴趣可以点击flutter-TextField文本输入框 限制 数字键盘、输入小数点后两位看一下。
首先就是最关键的输入框的内容限制,例如只能输入数字和小数点,所以这里坐着使用了正则表达式进行可非常好的限制。
FilteringTextInputFormatter(RegExp("[0-9.]"), allow: true),
输入内容进行了件大的过滤,剩下就是具体的内容的 判断和限制,例如:.000、1.0000等都是不被允许的。
所以就有了下面的处理
import 'package:flutter/services.dart';
class CustomTextFieldFormatter extends TextInputFormatter {
static const defaultDouble = 0.001;