У меня установлены схемы, чтобы иметь массив комплексных наборов ввода. Что-то вроде:AutoForm 5.0.2 вложенные входы схемы, необходимые для обновления
address = {
street:{
type: String
},
city: {
type: String
},
active_address: {
type: Boolean,
optional: true
},
...
}
people: {
name:{
type: String
},
address:{
type: [address],
optional: true,
defaultValue: []
}
}
Таким образом, добавление адреса не является обязательным, но если добавить адрес все поля адреса не требуется.
Это работало (я полагаю, это было) версия 4.2.2. Это все еще работает на insert
типах автоформ, но не на update
типах автоформ. Выполняя обновление, ни одно из полей не будет отправлено, если только все обязательные поля в вложенной схеме также действительны.
Для справки, я создаю форму как таковую:
{{#autoForm collection="people" id=formId type="update" doc=getDocument autosave=true template="autoupdate"}}
{{> afQuickField name='name' template="autoupdate" placeholder="schemaLabel"}}
{{> afQuickField name='address' template="autoupdate"}}
{{/autoForm}}
Мои шаблоны (autoupdate
) Я копировать-вставить полноту шаблонов bootstrap3 AUTOFORM и переставить некоторые HTML, чтобы соответствовать моим потребностям. Я обновил их, насколько это возможно, согласно обновлению 5.0.0 при обновлении. Возможно, он может быть там, если кто-то может подумать об атрибуте в шаблонах, который приведет к непоследовательному поведению между вставкой и обновлением, которые были изменены в 5.0.0.
Дополнительная информация
Я просто попытался воссоздать все мои шаблоны форм с использованием шаблонов bootstrap3 из 5.0.2. Все-таки такое же поведение.
+
У меня есть (параметр) вход булеву в адресной схеме. Глядя в документ, массив адресов заполняется [0 : {active_address: false}]
active_address: {
type: Boolean,
optional: true
}
Не уверен, если это помогает ...
+
По предложению @ Марк, я добавил DefaultValue: []. Он исправил проблему ... вроде. В форме обновления нет «открытых» вложенных схем, и другие значения могут быть изменены. Если вы «добавили» вложенную схему в форму с помощью кнопки добавления, вся эта форма становится необходимой, даже если вы не вставляете какое-либо значение ни в какое поле. Это происходит независимо от ввода типа Boolean
.
Я могу пригводить вход ввода Boolean
во вложенной схеме, чтобы вся вложенная схема стала необходимой для вставки. Удаление логического входа заставило его снова вставить. Итак, есть новая проблема в том же духе.
Этот новый вопрос можно найти here
Как выглядит документ, который вы обновляете? Есть ли у вас какие-либо поля 'autoValue' /' defaultValue' в поле адреса? – mark
@mark Я этого не делаю. Вы ищете фактический пример документа или схемы? –
@mark Подумал, поэтому я проверил свой документ и добавил некоторую информацию. –