🦋

trim()

2024/11/15に公開

そのボタン、凶暴につき

知らない? 1989年、古いか〜

「みんなで構築するデータベース」をつくっている。
データを記入してSaveButtonを押しても、
未記入項目があると「○○が足りません〜」とAlertを出す。
が、それからもれているTextfieldがあった。
副次的な情報を追加するTextfieldとButtonのセットで、
SaveButtonからは独立している。
が、このButtonが実に簡単に押せてしまうんだな。
あ、間違えて触っちゃった!
・・・で、空白の「副次情報」がバンバン登録されていくという事態に。

消えて貰います

さらに古い、1970年

もちろんないと困るんだが、情報を書き込まないとButtonが出ない、に変更。
ところが、空白でも打ち込めば「記入」と見なされてしまう。
いろんな書き方を試すが、なかなかうまくいかない。

それ、早く言ってよ〜

これならどうだ、2020年

はい、知りませんでした、trim()、
空白を除去してから、記入かどうか判定する。
だから、空白しかなければ、チャラになって、未記入扱い。
これで解決。

                      Padding(
                        padding: const EdgeInsets.fromLTRB(
                            8, 8, 20, 8),
                        child: ShadowedContainer(
                          child: Visibility(   <= ボタンが消える
                            visible: model.newPlace.trim().isNotEmpty, <= 空白をtrimする(刈り込む、ですかね)
                            child: ButtonFormat(
                              label: AppLocalizations.of(context)!
                                  .addWord,
                              onPressed: () async {
                                model.addAndFetchRadioButtonBasis(model.selectedOption);
                              },
                            ),
                          ),
                        ),
                      ),
Flutter大学

Discussion