如何修复 flutter 中的 "type 'String' is not a subtype of type '(String?) => String?" 错误
How to fix "type 'String' is not a subtype of type '(String?) => String?" error in flutter
我正在学习 flutter 并且遇到了很多关于 flutter 的错误...
我正在尝试使用以下方法验证文本字段:
validateName() {
String value = '';
if (value.isEmpty) return 'Username is Required.';
final RegExp nameExp = new RegExp(r'^[A-za-zğüşöçİĞÜŞÖÇ ]+$');
if (!nameExp.hasMatch(value))
return 'Please enter only alphabetical characters.';
return value;
}
但是,我在 textformbuilder 的 validationFunction 上遇到上述错误:
TextFormBuilder(
enabled: !viewModel.loading,
prefix: Feather.user,
hintText: "Username",
textInputAction: TextInputAction.next,
validateFunction: validateName(),
onSaved: (String val) {
viewModel.setName(val);
},
focusNode: viewModel.usernameFN,
nextFocusNode: viewModel.emailFN,
),
提前致谢!
验证函数与您的函数不同...因此更改函数验证名称
String validateName(String? value) {
if (value!.isEmpty) return 'Username is Required.';
final RegExp nameExp = new RegExp(r'^[A-za-zğüşöçİĞÜŞÖÇ ]+$');
if (!nameExp.hasMatch(value))
return 'Please enter only alphabetical characters.';
return value;
}
在文本字段构建器上...像这样放置 validateFunction
TextFormBuilder(
validateFunction: validateName,
)
我正在学习 flutter 并且遇到了很多关于 flutter 的错误...
我正在尝试使用以下方法验证文本字段:
validateName() {
String value = '';
if (value.isEmpty) return 'Username is Required.';
final RegExp nameExp = new RegExp(r'^[A-za-zğüşöçİĞÜŞÖÇ ]+$');
if (!nameExp.hasMatch(value))
return 'Please enter only alphabetical characters.';
return value;
}
但是,我在 textformbuilder 的 validationFunction 上遇到上述错误:
TextFormBuilder(
enabled: !viewModel.loading,
prefix: Feather.user,
hintText: "Username",
textInputAction: TextInputAction.next,
validateFunction: validateName(),
onSaved: (String val) {
viewModel.setName(val);
},
focusNode: viewModel.usernameFN,
nextFocusNode: viewModel.emailFN,
),
提前致谢!
验证函数与您的函数不同...因此更改函数验证名称
String validateName(String? value) {
if (value!.isEmpty) return 'Username is Required.';
final RegExp nameExp = new RegExp(r'^[A-za-zğüşöçİĞÜŞÖÇ ]+$');
if (!nameExp.hasMatch(value))
return 'Please enter only alphabetical characters.';
return value;
}
在文本字段构建器上...像这样放置 validateFunction
TextFormBuilder(
validateFunction: validateName,
)