gpt4 book ai didi

flutter - 参数类型 'String? Function(String)' 无法分配给参数类型 'String? Function(String?)?'

转载 作者:行者123 更新时间:2023-12-02 01:39:31 25 4
gpt4 key购买 nike

我正在尝试设置密码和电子邮件验证,但出现上述错误。任何帮助将不胜感激。上面的错误在 main.dart 代码中,并已在代码中加粗。

验证器.dart代码

enum FormType { login, register }

class EmailValidator {
static String? validate(String value) {
return value.isEmpty ? "Email can't be empty" : null;
}
}

class PasswordValidator {
static String? validate(String value) {
return value.isEmpty ? "Password can't be empty" : null;
}
}

main.dart 代码

List<Widget>buildInputs() {
return [
TextFormField(
validator: **EmailValidator.validate**,
decoration: InputDecoration(labelText: 'Email'),
onSaved: (value) => _email = value,
),
TextFormField(
validator: **PasswordValidator.validate**,
decoration: InputDecoration(labelText: 'Password'),
obscureText: true,
onSaved: (value) => _password = value,
),
];
}

最佳答案

如果您检查 validator,它会返回一个可为 null 的字符串。

{String? Function(String?)? validator}

你可以像这样转换你的验证器

class EmailValidator {
static String? validate(String? value) {
return value==null || value.isEmpty ? "Email can't be empty" : null;
}
}

class PasswordValidator {
static String? validate(String? value) {
return value==null ||value.isEmpty ? "Password can't be empty" : null;
}
}

关于flutter - 参数类型 'String? Function(String)' 无法分配给参数类型 'String? Function(String?)?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71842063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com