Форма угловой схемы: мастер схема

Я пишу финансовую форму заявки. Angular Schema Forms идеально подходит для той гибкости, которая мне нужна для создания форм.

У меня возникли некоторые проблемы, связанные с концепцией схемы, в частности: должна ли схема относиться к одной форме или ко всем формам в приложении?

У меня есть много видов финансовых продуктов, на которые пользователь может подать заявку.... Проверка учетной записи, Сберегательный счет, Страхование автомобиля, Дом, Домашнее животное, Страхование гаджетов. Многие поля в различных формах являются общими для всех: имя, дата рождения, адрес. Некоторые из них относятся только к одной или нескольким формам (регистрационный номер автомобиля).

Должна ли я иметь одну всеобъемлющую схему, которая содержит определения для всех возможных полей во всех моих формах, и добавить / переопределить их в объекте определения формы? Или каждая форма должна содержать свою собственную схему? Или даже каждая страница в каждой форме?

И если это любой из последних двух - как я могу предотвратить дублирование? DRY!

1 ответ

Схема против схемы пользовательского интерфейса Я думаю об этом так: схема представляет собой представление вашей модели данных, а схема пользовательского интерфейса представляет редактируемую версию представления. Можете ли вы написать представление, которое включает в себя все ваши поля в базе данных, да, но я с большей вероятностью посмотрю на особенности того, какие данные мне нужны.

В своих проектах я генерирую схему JSON для каждого продукта / услуги, которую я предоставляю клиентам, и я использовал библиотеку json-refs, чтобы позволить мне предварительно обрабатывать ссылки на схемы json ($ref), чтобы я мог повторно использовать определения.

В моем случае у меня есть схема заказа, которая включает в себя только данные, относящиеся к заказу, адрес клиента, даты, связанные с заказом, и т. Д..., которые понадобятся каждому заказу. У меня также есть схема продукта для каждого продукта. Затем я включаю заказ и продукт в комбинированную схему с $ ref. Каждый продукт может иметь несколько разделов и атрибутов, которые я также повторно использую в разных продуктах.

Теперь в вашем случае может показаться, что мое решение подойдет, поскольку наши данные похожи, однако я не знаю, какая у вас внутренняя библиотека. Тем не менее, новые альфа-версии Angular Schema Form поддерживают $ ref с использованием json-ref на стороне клиента, но я все равно буду искать внутреннее решение, если ваш стек имеет вспомогательную библиотеку или вы используете NodeJS и можете использовать json-ref,

Другие вопросы по тегам