Flutter-无法查看禁用表单字段的验证消息

时间:2019-03-22 15:47:21

标签: validation input flutter

对于我的Flutter应用,我正在使用许多输入表单字段进行数据输入,并为每个字段分配一种验证方法,对于所有字段,错误消息通常会显示在该字段的正下方,但一个字段除外从选择对话框中获取价值,因此我将其禁用(enabled=false)以防止用户对其输入

禁用字段不显示验证错误消息是否正常?如果是,我是否应该采取其他措施来阻止用户在该字段上输入,而不是使其禁用?

3 个答案:

答案 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