小编Mar*_*jon的帖子

Flutter:为 TextFormField 验证器设置一系列可接受的值和多个条件

我使用许多 TextFormFields 作为数字输入字段,并希望确保用户只能输入可接受的数字范围内的值。例如,年龄字段应该只接受 18 到 100 之间的数字,并且只接受整数而不是小数。

这让我想到了我的问题的后半部分:如何使用验证器属性为一个字段指定两个或多个条件?说到年龄领域;输入必须在指定范围内,输入必须是整数,输入不能为空。我能够使用这些条件之一创建一个有效的验证器,但是我如何要求它验证同一个 TextFormField 中的多个内容?

如果我可以提供任何其他信息来帮助您回答,请告诉我,我认为代码示例没有用,因为问题不具体。

编辑:(在大多数情况下)已经解决了多条件问题,但对于创建一系列可接受的值仍然一无所知。我的年龄领域的具体示例解决方案将是一个很大的帮助。示例代码:

...
String validateAge(String value){
 String pattern = r'(^[0-9]*$)';
 RegExp regExp = new RegExp(pattern);
 if (value.length == 0){
  return "Age is required.";
 } else if (!regExp.hasMatch(value)){
  return "Age cannot contain characters other than numbers.";
 }
}
...
new TextFormField(
 decoration: InputDecoration(
  hintText: "Age"
 ),
 validator: validateAge,
 autoValidate: true,
),
Run Code Online (Sandbox Code Playgroud)

validation input formfield dart flutter

4
推荐指数
1
解决办法
5335
查看次数

标签 统计

dart ×1

flutter ×1

formfield ×1

input ×1

validation ×1