我要去哪里错了?验证无效。验证时打印错误。而文本表单字段可以打印,而验证打印错误。
Form(
key: _formKey,
child: Column(children: <Widget>[
TextFormField(validator: (val) {
if (val.length == 6) {
print('okay');
} else {
print('error');
}
}),
TextFormField(
validator: (val) => val.length == 6 ? 'Okay' : 'dsfj'),
RaisedButton(
child: Text('test'),
onPressed: () {
if (_formKey.currentState.validate()) {
print('true');
} else {
print('false');
}
})
]),
),
答案 0 :(得分:2)
基本上,即使条件验证,我也将在验证器中返回字符串。因此,(_formKey.currentState.validate())
在两种情况下都将返回false,即使文本表单字段也有效。
因此,如果条件满足,请尝试返回null。
TextFormField(validator: (val) => val.length < 6 ? 'Password is too short' : null),
赞。 谢谢