这个函数的返回类型是“字符串”,但没有以返回语句结束。

4

我卡在一个错误上了,有人可以帮我解决一下吗?

“这个函数的返回类型为'String',但没有以返回语句结束。尝试添加返回语句,或将返回类型更改为'void'。”

在值下面有一条蓝色的线(显示错误)。

TextFormField(
              decoration: InputDecoration(labelText: 'E-Mail'),
              keyboardType: TextInputType.emailAddress,
              validator: (value) {
                if (value.isEmpty || !value.contains('@')) {
                  return 'Invalid email!';
                }
              },
              onSaved: (value) {
                _authData['email'] = value;
              },
           ),

请将您的代码作为代码粘贴。这样甚至都无法阅读它!! - Abdelbaki Boukerche
你可能需要为else部分添加一个返回。 - John Joe
我已经尝试过了,但仍然显示错误@JohnJoe。 - smily g1908
你能发更多的代码吗?请包括如何在widget build中添加TextFormField - John Joe
错误信息显示了发生的所有细节。可能需要说:函数“validator”有一个... 对吗? - Tokenyet
1个回答

9

您忘记了加上return null语句
代码片段

validator: (value) {
            if (value.isEmpty || !value.contains('@')) {
              return 'Invalid email!';
            }
            return null;
          },

返回 null 不是一个好的实践。 - Hamed
1
@Hamed,官方文档说:如果没有错误,验证器必须返回null。https://docs.flutter.dev/cookbook/forms/validation#2-add-a-textformfield-with-validation-logic - chunhunghan
你是对的,我的错。 :) - Hamed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接