对于我的Flutter
应用,我正在使用许多输入表单字段进行数据输入,并为每个字段分配一种验证方法,对于所有字段,错误消息通常会显示在该字段的正下方,但一个字段除外从选择对话框中获取价值,因此我将其禁用(enabled=false
)以防止用户对其输入
禁用字段不显示验证错误消息是否正常?如果是,我是否应该采取其他措施来阻止用户在该字段上输入,而不是使其禁用?
答案 0 :(得分:0)
如果您不想在某些字段中默认验证,则应该使用 TextFormField 的 TextField 即时并由控制器执行验证。
答案 1 :(得分:0)
我无法想象这种行为是故意的,我不知道为什么禁用字段不应显示错误消息,如果它不是错误,那么即将推出的flutter版本将提供{{1 }}或在这种情况下使用的类似属性
无论如何,暂时我已经编辑了Flutter代码以显示禁用的字段错误消息
文件readonly
更改方法
flutter\packages\flutter\lib\src\material\input_decorator.dart
成为
TextStyle _getErrorStyle(ThemeData themeData) {
final Color color = decoration.enabled? themeData.errorColor : Colors.transparent;
return themeData.textTheme.caption.copyWith(color: color).merge(decoration.errorStyle);
}
答案 2 :(得分:0)
您无需修改Flutter代码即可获得所需的行为。只需在InputDecorator
上添加一个带有errorStyle
的{{1}},以使用所需的任何颜色来显示错误,该颜色适用于已启用和已禁用字段:
TextFormField