我里面有Form和TextFormField:
new Expanded(
child: TextFormField(
style: new TextStyle(color: Colors.white),
keyboardType: TextInputType.text,
validator: (String value) {
if (value.length <= 5) {
//Show error as a Snackbar
}
},
onSaved: (String value) {},
),
)
在Buttom印刷机上,我正在检查是否所有字段都有效:
if (_formKey.currentState.validate()) {
_submit();
}
现在的问题是,当您调用validate()
且未在validate()
方法中返回任何文本时,它将认为它返回true。
我不想在textField下显示错误,而是要显示为Snackbar。
此外,我尝试在每个验证器方法中设置一个额外的标志并进行设置,但是如果表单中有多个字段,它将变得很复杂。
任何人都可以告诉我如何处理_formKey.currentState.validate()
应该返回false和validator方法的情况
TextFormField内部不需要返回错误文本。
答案 0 :(得分:1)
如果您不想在TextField中显示错误,则不应使用 Form 小部件和 TextFormField 。
您应该由控制器进行验证
例如
=SUMIFS(B:B,A:A,"*A*B*C*")