【入力チェックを効果的に行うことでアプリ運用を適切に行えるようにしましょう!】
アプリを実際に運用しだすと「こんな風に入力しないで・・・」という問題が必ずおきます。この問題はできるだけアプリ内で事前に防げるようにしましょう
目次
ポイント
実はデータカード内にはエラーメッセージ表示用の仕組みがあります
例えば、入力必須の項目が未入力の場合には上記の画像の箇所/ErrorMessage・・・から表示されます
表示は「Parent.Error」で行われます
この記事ではこのParent.Errorをうまく使いこなせるようにします
Parent.Errorはあくまでエラーが発生した時にだけ表示されます
エラーが発生した時の「Parent.Errorのメッセージ」を活かしつつ、エラーが発生する前にもメッセージを表示するためにCoalesce関数という関数を使用します
この関数は空白でない文字列の最初のものを表示します
つまり、エラーが発生していない時は「Parent.Errorでないもの」を表示します
エラーが発生した時には「Parent.Error」を表示します
ちなみに「parent.Error」は上の画像のようにText欄に設定されます
入力必須の設定
入力チェックの一番の基本は「入力必須」です
こちらは下の画像の「詳細設定」で行います
詳細設定の「Required」をtrueにするとチェックが設定されます
「Required」をtrueにした箇所を空欄にしたままSubmit関数を実行するとエラーメッセージがでます
入力範囲のチェック
入力項目の中には「いくら以上で」とか「いくら未満で」といった風に、範囲を制限するケースがあります
このケースではCoalese関数とIF関数を組み合わせます
下は500以上の入力を必須にするケースです
Coalesce(Parent.Error,If((Value(DataCardValue2.Text)<500) && !IsBlank(DataCardValue2.Text),”500以上で入力してください”))
上の数式ではCoalese関数を使用することにより、エラーが実際には発生していない時にはIf関数の中身を表示します
IF関数内では条件を2つ、AND条件で設定しています
①(Value(DataCardValue2.Text)<500) && ②!IsBlank(DataCardValue2.Text)
①は値が500未満という数字の制限です
②は!(否定)を付けることで値がブランクでない場合という制限です
形式のチェック
数字形式の入力が必須の箇所で、文字列が入力されるとエラーが表示されるようにします
今回もCoalese関数とIf関数を組み合わせます
但し、IsMatch関数という関数も組み合わせて使用します
IsMatch関数では事前定義済みパターンというものを設定します
IsMatch関数内でパターンに一致しない場合にはメッセージを表示できるようにします
Coalesce(Parent.Error,If(!IsMatch(DataCardValue5.Text,Match.MultipleDigits) && !IsBlank(DataCardValue5.Text),”数字のみで入力してください”))
ちなみに上記のIF式内では「!(否定)」を使用して!IsMatch(~、つまり~が一致しない場合としています
今回はMultipleDigitsという事前定義済みパターンを使用しています
こちらのパターンは「1 桁以上の数と一致します」というパターンです
MultipleDigits以外にも様々なパターンがありますのでぜひこちらを確認してみてください⇒詳細
<まとめ>
今回はPower Appsで入力チェックを行う方法を解説しました
Parent.Errorと空欄を無視するCoalese関数をうまく活用するのがポイントです
作成したPower Appsを使用してもらっても、入力されたデータが不完全だとあまり意味がありません
今回の入力チェックの仕組みはぜひうまく使いこなしましょう!
コメントを残す