680 Views
November 25, 24
スライド概要
Power Appsにおけるバリデーションチェックの実装方法を詳しく解説しています。手間をかけないバリデーションチェックの手法や、実装パターンの比較、リアルタイムチェックの方法など、ユーザーにわかりやすくエラーメッセージを伝えるための工夫や推奨パターンについて触れています。エラーチェックの際に注意すべきことや、よく使う関数についても述べています。
【Power Appsでハッカソンしたいけぇ#10】 Power Appsの バリデーションチェック(エラーチェック) ~PPの城窓から~ PPログ 2024/11/24
PPログ X(Twitter): https://twitter.com/PowerPlatform4 Blog: https://powerplatformnikki.com/ 2
3
Content • まえおき • バリデーションチェックの実装パターンを比較 • Errorプロパティを利用したリアルタイムチェック • コントロールからフォーカスアウト時にチェック • SubmitForm前にIfでチェック 4
まえおき 5
バリデーションチェックの実装には工数がかかるのでできるだけ デフォルトのままにしておくことを推奨 6
手間をかけないバリデーションチェック① Requiredプロパティをtrueにする Updateプロパティが空白のときにエラーメッセージが表示される 7
手間をかけないバリデーションチェック② データ型に応じたコントロール選定・設定/プロパティの活用 テキスト入力コントロールのFormatプロパティをTextFormat.Numberにすると数値入力モードになる 8
手間をかけないバリデーションチェック③ ユーザーに誤った値を選択させないロジック 特定の条件下では項目が表示されないようにフィルターをかける 他の項目から自動設定にしてカードをViewモードにする 9
バリデーションチェックの実装パターン を比較 10
エラーがあることをどのようにユーザーに知らせるか メリット デメリット 1.ボタン押下時 エラーメッセージ表示 ユーザーが一通り入力してから エラーチェックができる ボタンを押さないと エラーメッセージが表示されない 2.リアルタイムに エラーメッセージ表示 エラーの理由がすぐにわかる ユーザーがストレスを感じる場合が ある 3.ボタン非活性 正しく入力ができているかどうかが 一目でわかる どこでなぜエラーが起きているかが わかりにくい 11
エラーがあることをどのようにユーザーに知らせるか メリット デメリット 1.ボタン押下時 エラーメッセージ表示 ユーザーが一通り入力してから エラーチェックができる ボタンを押さないと エラーメッセージが表示されない 2.リアルタイムに エラーメッセージ表示 エラーの理由がすぐにわかる ユーザーがストレスを感じる場合が ある 3.ボタン非活性 正しく入力ができているかどうかが どこでなぜエラーが起きているかが バリデーションチェックではあまり使用しない 一目でわかる わかりにくい 12
バリデーションチェックの実装パターンを比較 強み 弱み Errorプロパティを利用した リアルタイムチェック(1+2) 複雑な数式や複数条件にも対応でき、 管理もしやすい エラーの内容を把握しやすい 工数がかかる 常にエラーメッセージが表示される ためユーザーがストレスを感じる コントロールからフォーカス アウト時にチェック(2) バリデーションチェックが複雑で ある場合、ユーザーストレスを 軽減できる 工数がかかる 仕組み上多くの項目に対応するのは 現実的でない SubmitForm前にIfで チェック(1) 都度計算でないのでパフォーマンス が向上する(場合がある) 対象項目が多い場合数式が複雑化 してしまう 13
要件ごとの推奨実装パターン バリデーションチェックの項目数 バリデーションチェックの条件 Errorプロパティを利用した リアルタイムチェック(1+2) 多い 複雑 コントロールからフォーカス アウト時にチェック(2) 少ない 複雑 SubmitForm前にIfで チェック(1) 少ない 簡単 14
Errorプロパティを利用した リアルタイムチェック 15
動作イメージ 16
実装方法:複雑なのでアドベントカレンダーで投稿します 17
コントロールからフォーカス アウト時にチェック 18
動作イメージ 19
実装方法(Notify関数でエラーメッセージ表示) テキスト入力 20
実装方法(ラベルにエラーメッセージ表示) テキスト入力 エラー表示ラベル 21
SubmitForm前にIfでチェック 22
動作イメージ 23
実装方法 保存ボタン 複雑なバリデーションチェックでは 入れ子になってしまうので この方法は使用しない!!!!!!! 24
【Appendix】 バリデーションチェックでよく使う関数 25
関数 Notify関数:エラーメッセージなどを画面上部に数秒間通知する関数 IsBlank関数:必須チェックや入力時のみエラーチェックする条件を作る関数 IsMatch関数:複雑な条件を正規表現でチェックする関数 Len関数:複雑な条件を正規表現でチェックする関数 26
プロパティ DataCard.Required:trueのときにUpdateプロパティが空白だとエラー DataCard.Error:Requiredでエラーになったときに○○が必要ですという文字列を出力する DataCard.Valid: IsBlank(DataCard.Error) Form.OnFailure:SubmitFormが失敗した時に実行される処理 Form.Valid:フォームにエラーがあるときにfalseになる Form.Error/ErrorKind:Errors関数の出力とほぼ同じ 27
ありがとうございました 28