【发布时间】:2019-08-20 13:05:49
【问题描述】:
我知道这是一个简单的问题,但我没有找到如何做到这一点。当用户在字段中输入内容时,如何重置 TextFormField 中的错误消息。像 onchange 监听器之类的东西。我注意到 onChanged 在 TextField 中可用,但在 TextFormField 中不可用。我该怎么做?
final _email = Container(
child: TextFormField(
decoration: InputDecoration(labelText: email),
keyboardType: TextInputType.emailAddress,
controller: emailController,
validator: _validateEmail,
onSaved: (input) => _stringEmail = input.toLowerCase().trim(),
),
);
更新:我正在使用控制器为用户输入添加侦听器。但我只想重置错误消息而不是再次验证表单。这可能吗?我该怎么做?
_resetEmailErrorMessage() {
print("Second text field: ${emailController.text}");
//replace clear to something that can reset the validation error message
emailController.clear();
}
@override
void initState() {
super.initState();
//start listening to changes
emailController.addListener(_resetEmailErrorMessage);
}
【问题讨论】: