关于表单验证

时间:2020-02-14 06:14:26

标签: validation flutter

我要去哪里错了?验证无效。验证时打印错误。而文本表单字段可以打印,而验证打印错误。

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');
              }
            })
      ]),
    ),

1 个答案:

答案 0 :(得分:2)

基本上,即使条件验证,我也将在验证器中返回字符串。因此,(_formKey.currentState.validate())在两种情况下都将返回false,即使文本表单字段也有效。 因此,如果条件满足,请尝试返回null。

TextFormField(validator: (val) => val.length < 6 ? 'Password is too short' : null),

赞。 谢谢