// 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' },
Я все еще должен проанализировать имена здесь, чтобы получить желаемый результат.>
Я получил форму, которая содержит расширяемый массив элементов: < /p> [code] // 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] Я все еще должен проанализировать имена здесь, чтобы получить желаемый результат.>