我正在使用TextFormField来获取数字作为输入,因此我使用了此代码段
keyboardType: TextInputType.number,
这是我的TextFormField窗口小部件代码
TextFormField(
keyboardType: TextInputType.number,
style: textstyle,
controller: principal,
validator: (String value) {
if (value.isEmpty) {
return "Please enter principal amount e.g 3245";
}
},
decoration: InputDecoration(
labelText: "Principal",
labelStyle: textstyle,
hintText: "Rupees",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(5.0))),
)
那么现在我该如何格式化TextFormfield来限制仅键入数字和限制粘贴文本?
答案 0 :(得分:1)
您可以尝试使用WhitelistingTextInputFormatter
喜欢
inputFormatters: [WhitelistingTextInputFormatter.digitsOnly],
参见官方docs
答案 1 :(得分:0)
从 Flutter 版本 1.20.0-1.0.pre 开始,已接受的答案现已弃用。现在,使用 inputFormatters: [FilteringTextInputFormatter.digitsOnly],
代替 (see documentation)。
此外,如果您想更好地控制使用 RegEx 输入的内容,请使用 FilteringTextInputFormatter.allow(RegExp(r'your regex here'))
。