Sitecore Formsでフォームを保存する際に発生する問題のトラブルシューティング


概要

この記事では、Sitecore Formsアプリケーションで発生する可能性のある、下記の問題のトラブルシューティング方法を提供します:

同じ名前を持つ複数の送信アクションを含むフォームを保存できない

解説

Sitecore Formsで、同じ名前を持つ複数の送信アクションが送信ボタン要素に追加された場合、フォームの保存が失敗する可能性があります。その際、次のエラーが表示されます:

日本語:"Submit Button"という名前のフィールドが複数含まれているため、フォームを保存できません。
英語:Unable to save the form because it contains multiple fields with the name "Submit Button". The form was not saved.

また、下記のようなメッセージがログに記録されます:

ERROR [Experience Forms]: The item name "Trigger Goal" is already defined on this level.
Exception: Sitecore.Exceptions.DuplicateItemNameException
Message: The item name "Trigger Goal" is already defined on this level.
Source: Sitecore.Kernel
   at Sitecore.Data.Items.ItemUtil.AssertDuplicateItemName(Item destinationItem, Item sourceItem, String name)
   at Sitecore.Data.Items.ItemUtil.AssertItemName(Item destinationItem, Item sourceItem, String name)
   at Sitecore.Data.Items.Item.Add(String name, TemplateID templateID)
   at Sitecore.ExperienceForms.Mvc.Models.Fields.ButtonViewModel.AddItem(String itemName, Item destination, TemplateID templateId)
   at Sitecore.ExperienceForms.Mvc.Models.Fields.ButtonViewModel.UpdateSubmitActionDefinitions(Item item)
   at Sitecore.ExperienceForms.Mvc.Models.Fields.ButtonViewModel.UpdateItemFields(Item item)
   at Sitecore.ExperienceForms.Mvc.Models.Fields.FieldViewModel.UpdateItem(Item item)
   at Sitecore.ExperienceForms.Client.Pipelines.SaveForm.UpdateItems.EditModelProperties(ViewModelWrapper viewModelWrapper, Item item)
   at Sitecore.ExperienceForms.Client.Pipelines.SaveForm.UpdateItems.SaveModel(ViewModelWrapper viewModelWrapper, SaveFormEventArgs args, ICollection`1 deleteList)

解決策

本問題を解決するには、次のいずれかのオプションを検討してください:

同じ名前を持つ複数の要素を含むフォームを保存できない

解説

Sitecore Formsで、同じ名前を持つ複数の要素がフォームに追加された場合、フォームの保存が失敗する可能性があります。その際、次のいずれかのエラーが表示されます:

日本語:"Single-Line Text" という名前のフィールドが複数含まれているため、フォームを保存できません。
英語:Unable to save the form because it contains multiple fields with the name "Single-Line Text". The form was not saved.

または

日本語:ID {Item ID} のアイテムの作成に失敗しました
英語:Failed to create an item with id {Item ID}. The form was not saved.

解決策

本事象を解決するには、次のいずれかのオプションを検討してください: