Я получил форму, которая содержит расширяемый массив элементов: < /p>
// or ingredient[0][name]
// neither works
< /code>
и действие обрабатывает форму: < /p>
export const server = {
addRecipe: defineAction({
accept: 'form',
input: z.object({
title: z.string().max(100),
// ...
ingredient: z.array(
z.object({
name: z.string(),
count: z.string(),
}),
)
}),
handler: async (input) => {
console.log(input);
< /code>
Введите журналы пустого массива в любое время: < /p>
{
title: '123',
...
ingredient: []
}
< /code>
Я ходил взад и вперед, пробуя разные вещи, но я не мог заставить ее работать с обработкой по умолчанию с помощью встроенного zod. Я знаю, что могу просто получить FormData, если я опускаю поле «Вход», но входные данные остаются необработанными: < /p>
{ name: 'ingredient[0][name]', value: '123' },
{ name: 'ingredient[0][count]', value: '123' },
< /code>
Я все еще должен просматривать имена здесь, чтобы получить желаемый результат. Для тех, кто ищет, не стесняйтесь прочитать эту часть документации немного больше: https://docs.astro.build/en/reference/m ... ccept-form и проверьте свойство преобразования Zod, позволяющее превратить полезную нагрузку в более приемлемый формат.
Подробнее здесь: https://stackoverflow.com/questions/796 ... s-in-astro
Обработка динамических форм в Astro ⇐ Html
Программисты Html
1746301187
Anonymous
Я получил форму, которая содержит расширяемый массив элементов: < /p>
// or ingredient[0][name]
// neither works
< /code>
и действие обрабатывает форму: < /p>
export const server = {
addRecipe: defineAction({
accept: 'form',
input: z.object({
title: z.string().max(100),
// ...
ingredient: z.array(
z.object({
name: z.string(),
count: z.string(),
}),
)
}),
handler: async (input) => {
console.log(input);
< /code>
Введите журналы пустого массива в любое время: < /p>
{
title: '123',
...
ingredient: []
}
< /code>
Я ходил взад и вперед, пробуя разные вещи, но я не мог заставить ее работать с обработкой по умолчанию с помощью встроенного zod. Я знаю, что могу просто получить FormData, если я опускаю поле «Вход», но входные данные остаются необработанными: < /p>
{ name: 'ingredient[0][name]', value: '123' },
{ name: 'ingredient[0][count]', value: '123' },
< /code>
Я все еще должен просматривать имена здесь, чтобы получить желаемый результат. Для тех, кто ищет, не стесняйтесь прочитать эту часть документации немного больше: https://docs.astro.build/en/reference/modules/astraction-actions/#use-with-accept-form и проверьте свойство преобразования Zod, позволяющее превратить полезную нагрузку в более приемлемый формат.
Подробнее здесь: [url]https://stackoverflow.com/questions/79601070/handling-dynamic-forms-in-astro[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия