Flutter formkey 异常显示_CastError (Null check operator used on a null value)
Flutter formkey exception displayed _CastError (Null check operator used on a null value)
我通过在 Form()
中包装一个列小部件创建了一个表单
Form(
key: formKey,
child: Column(
children: [
但是当我尝试设置 final isValid = formKey.currentState!.validate();
进行检查时,我收到一条消息 _CastError (Null check operator used on a null value)
发生异常
有什么建议吗? Example Pic
此时 currentState 为空,您正试图在构建表单之前对其进行验证。当单击某个提交按钮等时,在回调中验证表单会更有意义。
检查 Link to flutter docs 示例。
您需要创建这样的函数并在单击某些提交按钮等时调用。谢谢。
void _saveForm() {
final isValid = formKey.currentState!.validate();
if (!isValid) {
// ignore: avoid_returning_null_for_void
return null;
}
_form.currentState!.save();
// .... extra code
}
部分感谢 Void Void 解决方案不是声明变量 isVaild。选中 formKey.currentState!.validate()
on press for button
onPressed: () {
if (!formKey.currentState!.validate()) return;
AccountUpdate.updatePassword(
_confirmController.text, context);
},
我通过在 Form()
中包装一个列小部件创建了一个表单
Form(
key: formKey,
child: Column(
children: [
但是当我尝试设置 final isValid = formKey.currentState!.validate();
进行检查时,我收到一条消息 _CastError (Null check operator used on a null value)
发生异常
有什么建议吗? Example Pic
此时 currentState 为空,您正试图在构建表单之前对其进行验证。当单击某个提交按钮等时,在回调中验证表单会更有意义。 检查 Link to flutter docs 示例。
您需要创建这样的函数并在单击某些提交按钮等时调用。谢谢。
void _saveForm() {
final isValid = formKey.currentState!.validate();
if (!isValid) {
// ignore: avoid_returning_null_for_void
return null;
}
_form.currentState!.save();
// .... extra code
}
部分感谢 Void Void 解决方案不是声明变量 isVaild。选中 formKey.currentState!.validate()
on press for button
onPressed: () {
if (!formKey.currentState!.validate()) return;
AccountUpdate.updatePassword(
_confirmController.text, context);
},