Flutter中FormBuilderValidators未定义错误求助
Flutter中FormBuilderValidators未定义的解决方案
你遇到的错误如下:
lib/screens/create_account_screen.dart:30:30: Error: The getter 'FormBuilderValidators' isn't defined for the class '_CreateAccountScreenState'. - '_CreateAccountScreenState' is from 'package:myapp/screens/create_account_screen.dart' ('lib/screens/create_account_screen.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'FormBuilderValidators'. validator: FormBuilderValidators.compose([
尽管已引入flutter_form_builder: ^9.1.0依赖并执行flutter pub get,仍出现该错误,可按以下步骤解决:
补充必要的导入语句
在flutter_form_builder9.x版本中,FormBuilderValidators需要单独导入,你当前的代码仅导入了基础包,需添加:import 'package:flutter_form_builder/flutter_form_builder_validators.dart';修正Validator的调用格式
9.x版本的API做了调整,部分验证方法不再需要传递context参数,修正后的代码示例:// Email输入框 FormBuilderTextField( name: 'email', decoration: InputDecoration(labelText: 'Email'), validator: FormBuilderValidators.compose([ FormBuilderValidators.required(), FormBuilderValidators.email(), ]), ), // 手机号输入框 FormBuilderTextField( name: 'phone', decoration: InputDecoration(labelText: 'Phone Number'), validator: FormBuilderValidators.compose([ FormBuilderValidators.required(), FormBuilderValidators.phone(), ]), ), // 密码输入框 FormBuilderTextField( name: 'password', decoration: InputDecoration( labelText: 'Password', suffixIcon: IconButton( icon: Icon(_isPasswordVisible ? Icons.visibility : Icons.visibility_off), onPressed: _togglePasswordVisibility, ), ), obscureText: !_isPasswordVisible, validator: FormBuilderValidators.compose([ FormBuilderValidators.required(), FormBuilderValidators.minLength(6), ]), ),重新同步依赖
执行以下命令确保依赖完全生效:flutter clean flutter pub get
内容的提问来源于stack exchange,提问作者thebiggestlebowski
相关产品推荐
相关产品推荐

