Flutter TextField 只有正数

Flutter TextField only positive numbers

在 flutter 中有没有办法让 TextField 只接受大于零的数字?我目前只允许通过以下代码输入数字:

keyboardType: TextInputType.number,
inputFormatters: <TextInputFormatter>[FilteringTextInputFormatter.digitsOnly],

现在我想防止 TextField 的值为零,同时通常仍允许键入零。因此,允许输入100并阻止输入001。

我不想通过监听输入变化然后手动擦除零或类似方法来实现这一点。我正在寻找内置解决方案。

digitsOnly 呼叫 FilteringTextInputFormatter.allow(RegExp(r'[0-9]'))

所以只需将其替换为FilteringTextInputFormatter.allow(RegExp(r'^[1-9][0-9]*'))

将此代码添加到 TextFormField

inputFormatters:[FilteringTextInputFormatter.allow(RegExp("[0-9]"))],

对我有用。