diff --git a/packages/forms/package.json b/packages/forms/package.json index 98171a71..bade0ca6 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "yup": "^1.4.0", - "zod": "^3.23.8", + "zod": "^3.25.0", "joi": "^17.13.3", "valibot": "^0.42.1", "superstruct": "^2.0.2" diff --git a/packages/forms/src/resolvers/zod/index.ts b/packages/forms/src/resolvers/zod/index.ts index 96ef8cdb..821b23e8 100644 --- a/packages/forms/src/resolvers/zod/index.ts +++ b/packages/forms/src/resolvers/zod/index.ts @@ -1,6 +1,7 @@ import { toValues } from '@primeuix/forms/utils'; import { isNotEmpty } from '@primeuix/utils'; import type { ParseParams, Schema } from 'zod'; +import { z } from 'zod/v4'; import type { ResolverOptions, ResolverResult } from '..'; export const zodResolver = @@ -20,7 +21,7 @@ export const zodResolver = return { values: toValues(raw ? values : undefined, name), errors: (e.issues || e.errors).reduce((acc: Record, error: any) => { - const pathKey = isNotEmpty(error.path) ? error.path.join('.') : name; + const pathKey = isNotEmpty(error.path) ? z.core.toDotPath(error.path) : name; if (pathKey) { acc[pathKey] ||= [];