Как сделать поля обязательными при редактировании Formio? - PullRequest
2 голосов
/ 29 января 2020

Я создаю страницу редактирования формы с помощью редактора и визуализатора Formio.
Я хотел бы сделать определенные поля формы c обязательными в редакторе форм. [отличается от обязательного ввода поля во время отправки]

В приложении есть две роли -
Редактор - изменяет определение formio.
Пользователь - отправляет данные формы.

Я особенно заинтересован в том, чтобы сделать несколько полей «метаданных» обязательными для редактора. Редактор не должен иметь возможности удалять определенные поля из списка компонентов formio.

Несколько вариантов, которые я рассматриваю для реализации -

  • Когда форма сохранена, проверьте компоненты формы и убедитесь, что обязательные поля существуют, а если их нет, создайте их.
  • Установите флаг в пользовательском интерфейсе для указанных c компонентов, чтобы они были «отключены» и не могли быть удалены в редакторе Formio.

Кто-нибудь реализовывал это?

1 Ответ

1 голос
/ 01 февраля 2020

Вы, кажется, движетесь в правильном направлении. Вы определенно можете сделать (как вы предложили):

  • Когда форма сохранена, проверьте компоненты формы и убедитесь, что обязательные поля существуют, а если они не созданы, создайте их или сгенерируйте ошибку

Наряду с этим вы также можете расширить построитель форм и удалить значок «удалить», который появляется в построителе рядом с этими обязательными компонентами. Для этого

  • Добавьте пользовательское свойство ко всем компонентам, что-то вроде «customIsMandatory»
  • Измените options.templates в WebformBuilder, чтобы показать другой шаблон (один с " удалить «значок удален), если для этого компонента установлено значение« customIsMandatory ».
  • Вы можете предварительно заполнить эти обязательные компоненты в компоновщике и убедиться, что для этого свойства установлено значение true.
...