条件ロジックと入力検証

Power Apps 入門

Luise Freese

Azure & Power Platform Architect

条件付き書式(復習)

赤い「優先度:高」のピルが表示されたギャラリーのチケットカード。Priority の If() 数式による条件付き Fill カラーリングを示しています。

 

  • If(condition, ifTrue, ifFalse) が基本となる数式
  • ギャラリーの行の色ですでに登場
  • この動画の内容もすべて同じ構造で動作
Power Apps 入門

IsBlank() で空のフィールドを検出

 

  • IsBlank(value) は値が空の場合にtrueを返す
  • あらゆるコントロールの値に使用可能
  • この後の検証の基礎となる関数

2つの Title テキスト入力。空のフィールドでは IsBlank() が true を返し、チケットのテキストが入力されたフィールドでは false を返す様子を示しています。

Power Apps 入門

予防策:DisplayMode

$$

Title が空のときは無効化され、入力されると有効になる Submit ボタン。IsBlank() と If() の数式で DisplayMode を制御する様子を示しています。

 

  • 不正な送信を未然に防ぐ

DisplayMode = If(IsBlank(...), DisplayMode.Disabled, DisplayMode.Edit)

  • フィールドが入力されるまでボタンはグレーアウト
Power Apps 入門

修正策:送信後の Notify()

 

Notify(
    "Save failed: check fields",
    NotificationType.Error
)
  • 予防策では防げないもの(サーバー側のルール、ネットワークエラー)を検出
  • OnFailure を Notify() に接続し、NotificationType.Error を指定
  • 予防策と併用し、単独では使わない

検証エラーで送信に失敗した後の Power Apps フォーム。赤いエラートースト、強調表示された Title フィールド、グレーアウトした Save ボタンを示しています。

Power Apps 入門

Visible と DisplayMode の違い

Visible=false でボタンがレイアウトから削除される場合と、DisplayMode=Disabled でその場にグレーアウト表示される場合を比較した画面。

 

  • Visible = false → レイアウトとタブ順序から削除
  • DisplayMode.Disabled → その場に残り、グレーアウトして読み取り専用に
  • DisplayMode.View → フォーム内のカードに使用
Power Apps 入門

具体例

 

  • Approve ボタン:全員に表示、フィールド入力までDisabled
  • マネージャー専用セクション:Visible = isManager
  • 1つの画面で両方のルールが動作

入力フィールド、アクションカード、緑色の送信ボタンを備えたフォームアプリを表示するダークテーマのスマートフォン。

Power Apps 入門

サーバー側とクライアント側

ユーザーの送信が Power Apps のクライアント側チェック(IsBlank、DisplayMode)を経て、SharePoint のサーバー側チェック(必須列)を通過し、保存されるまでの流れを示すフローチャート。

 

  • アプリ内のクライアント側:UX を向上
  • SharePoint 上のサーバー側:データの整合性を保護

Power Apps の数式はセキュリティ境界にはなりません。

Power Apps 入門

作成するアプリ

 

  • 検証で空の送信をブロック
  • 見落とした場合にエラーメッセージでユーザーに警告する仕組みを確認

完成した検証アプリを表す、入力フィールドと緑色の送信ボタンを備えたフォームを表示するダークテーマのスマートフォン。

Power Apps 入門

練習しましょう!

Power Apps 入門

Preparing Video For Download...