Flutter:TextFormField字段的OnChange事件

时间:2019-08-20 15:53:25

标签: flutter

我有一个文本表单字段(邮政编码)。当用户完成输入值时。我想打电话给Api,并在表单上填充“城市和州”字段。

我怎么知道用户何时输入邮政编码?

这是我当前的邮政编码字段代码

    TextFormField(
      style: TextStyle(fontSize: 18, color: Palette.GREY),
      initialValue: (addresses != null) ?   addresses[0].postalCode : ''

      validator: (val) => validateZipCode(val),
      onSaved: (val) => {
          onSaved(val),
       },
   ),

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

修改static int imgSize=1000; static unsigned short *image=new unsigned short[imgSize]; sqlite3 *db; sqlite3_stmt *stmt; char *tail; char * sql = "INSERT INTO SongLoopData (Data) VALUES ( ? )"; sqlite3_open("imageDB.db", &db); (sqlite3_prepare_v2(db, sql, -1, &stmt, NULL)); sqlite3_bind_blob(stmt, 1, image, imgSize*sizeof(unsigned short), SQLITE_STATIC); sqlite3_finalize(stmt); sqlite3_close(db); } 以便在API函数返回空值(zip是正确的)之前对其进行调用,以填充字段:

validator

答案 1 :(得分:0)

您可以使用onChanged即时检查输入内容:

TextField(
  onChanged: (text) {
    print("First text field: $text");
  },
);

只要用户在文本字段中输入内容,就会调用该函数。

在每次输入后检查有效的邮政编码,例如美国和加拿大,带有正则表达式,例如:

^((\d{5}-\d{4})|(\d{5})|([A-Z]\d[A-Z]\s\d[A-Z]\d))$

(摘自https://regex101.com/library/xH5sD3

如果邮政编码有效,请填写城市字段。