diff --git a/valibot/src/valibot.ts b/valibot/src/valibot.ts
index f98095f1..44332a7e 100644
--- a/valibot/src/valibot.ts
+++ b/valibot/src/valibot.ts
@@ -129,9 +129,7 @@ export function valibotResolver(
// Otherwise, return resolver result with values
return {
- values: resolverOptions.raw
- ? Object.assign({}, values)
- : (result.output as FieldValues),
+ values: resolverOptions.raw ? Object.assign({}, values) : result.output,
errors: {},
};
};
diff --git a/vine/src/vine.ts b/vine/src/vine.ts
index a3e7906f..a47ce16f 100644
--- a/vine/src/vine.ts
+++ b/vine/src/vine.ts
@@ -6,7 +6,6 @@ import {
} from '@vinejs/vine/build/src/types';
import {
FieldError,
- FieldErrors,
FieldValues,
Resolver,
appendErrors,
@@ -94,7 +93,7 @@ export function vineResolver(
options.shouldUseNativeValidation && validateFieldsNatively({}, options);
return {
- errors: {} as FieldErrors,
+ errors: {},
values: resolverOptions.raw ? Object.assign({}, values) : data,
};
} catch (error: any) {
diff --git a/zod/src/zod.ts b/zod/src/zod.ts
index 461d6a8a..9093c813 100644
--- a/zod/src/zod.ts
+++ b/zod/src/zod.ts
@@ -1,7 +1,6 @@
import { toNestErrors, validateFieldsNatively } from '@hookform/resolvers';
import {
FieldError,
- FieldErrors,
FieldValues,
Resolver,
ResolverError,
@@ -105,7 +104,9 @@ function parseZod4Issues(
if (error.code === 'invalid_union') {
error.errors.forEach((unionError) =>
- unionError.forEach((e) => zodErrors.push(e)),
+ unionError.forEach((e) =>
+ zodErrors.push({ ...e, path: [...error.path, ...e.path] }),
+ ),
);
}
@@ -254,7 +255,7 @@ export function zodResolver(
validateFieldsNatively({}, options);
return {
- errors: {} as FieldErrors,
+ errors: {},
values: resolverOptions.raw ? Object.assign({}, values) : data,
} satisfies ResolverSuccess