PowerApps を使ってSharePointの新規投稿フォームで複数条件の入力チェックをする


概要

SharePoint の投稿フォームで複数条件の入力チェック(Validation)を行います。
ひとつでも条件を満たさない項目がある場合は、「保存」をクリックした際にエラーメッセージを表示します。

完成イメージ

「保存」をクリックしたときに処理を挟むには

フォーム保存時の処理を表す「SharePointIntegration」>「OnSave」プロパティにおいてIF文などの条件分岐をいれることで、条件を満たさない場合の処理を指定することができます。

例:メッセージを表示する、保存処理を行わない等

実装

OnSave プロパティ で入力チェックの条件分岐を設定します。
この例で設定した条件は以下の通りです。

  • 一行テキストは必須入力
  • 数値は 10 ~ 20 の間で入力すること
  • 「選択肢1」以外を指定すること

「SharePointIntegration」>「OnSave」
Set(ValidationErrMsg, "");
If(IsBlank(DataCardValue2.Text),Set(ValidationErrMsg, "一行テキストは必須入力です。"));
If(Or(Value(DataCardValue3.Text) < 10,21 <= Value(DataCardValue3.Text)),Set(ValidationErrMsg, ValidationErrMsg&"数値は10から20の間で入力してください。"));
If(DataCardValue4.Selected.Value = "選択肢 1",Set(ValidationErrMsg, ValidationErrMsg&"選択肢1以外を選択してください。"));
If(IsBlank(ValidationErrMsg),SubmitForm(SharePointForm1),Notify(ValidationErrMsg,NotificationType.Error));

「保存」ボタンをクリックすると、条件に従っていないものがエラーメッセージとして表示されます。

条件に従っているものはエラーメッセージには表示されません。すべての入力項目が条件に従っていれば アイテムの保存処理(SubmitForm)が実行されます。