Failed assertion:'initialValue == null || controller == null': is not true. code example

Example: Failed assertion:'initialValue == null || controller == null': is not true.

You can't use initialValue and controller at the same time. So, a better way is to use controller because its constructor does provide you initial value that you can set.

Here is an example.

// In class level 
final controller = TextEditingController(text: "Your initial value");

Widget build(BuildContext context) {
  return TextFormField(
    controller: controller, 
    // ...
  );
}

In order to track the value entered by the user you can then use

controller.text

Tags:

Dart Example