#android #flutter #visual-studio-code
Вопрос:
я пытаюсь создать пользовательское поле текстовой формы виджета, но валидатор: валидатор, показывает ошибку
Тип аргумента «динамическая функция ()» не может быть присвоен типу параметра «Строка»? Функция(строка?)?’.dartargument_type_not_assignable динамическая функция() пакет валидатора:хранилище/виджеты/mytextformfield.dart
mytextformfield.дротик lt;lt;
импорт ‘упаковка:флаттер/материал.дротик’;
class MyTextFormField extends StatelessWidget { final Function() validator; final bool obserText; final String name; const MyTextFormField({ Key? key, required this.obserText, required this.validator, required this.name, }) : super(key: key); @override Widget build(BuildContext context) { return TextFormField( obscureText: obserText, **validator: validator,** decoration: InputDecoration( border: const OutlineInputBorder(), hintText: name, ), ); } }
при входе в систему.dart
MyTextFormField( obserText: obserText, name: "Email", validator: (value) { if (value == "") { return "Please Fill Email"; } else if (!regExp.hasMatch(value!)) { return "Email is Invaild"; } return ""; }, ),
Ответ №1:
Валидатор должен иметь параметр и возвращать значение null, если значение не содержит ошибок, и возвращать строку для отображения ошибки, если значение недопустимо.
TextFormField( // The validator receives the text that the user has entered. validator: (value) { if (value == null || value.isEmpty) { return 'Please enter some text'; } return null; }, ),
Комментарии:
1. я знаю , что вы имеете в виду, но я буду использовать это в файле под названием login. дарт , и я следую за ним на YouTube , и эта работа с ним, я отредактирую свой пост, проверю, какой код я собираюсь использовать