Back to Explore

react-hook-form/resolvers

GitHub
11 updates · last 90 daysOpen source

Last release:

Provides validation “resolvers” for React Hook Form, letting you plug in external validation libraries like Yup, Zod, Joi, Ajv, and others. Useful if you want to validate form input using the schema library you already prefer, optionally with TypeScript type inference from the schema.

Project status

  • Actively maintained: the upstream push and latest update were on November 3, 2026.
  • Updates have been frequent but uneven, with several clustered from mid-October through early November and a quieter gap beforehand.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v7.0.3

    Version 7.0.3 fixes the Effect-TS resolver so it honors the `raw` resolver option. When `raw` is true, successful validation returns a shallow copy of the original input values instead of the schema-decoded result.

  • v7.0.2

    Version 7.0.2 fixes the io-ts resolver so it honors the `raw` option. With `raw: true`, successful validation returns a shallow copy of the original input values instead of the decoded output.

  • v7.0.1

    Version 7.0.1 fixes FluentValidation resolver handling of errors for primitive values in arrays. Array item errors now retain their validation message, and the added test verifies that the corresponding field ref is preserved.

  • v7.0.0

    v7.0.0 migrates the TypeBox resolver from `@sinclair/typebox` to `typebox` 1.x, including the compiled-validator API and updated validation error values and wording. It also improves resolver type inference for validator contexts. The diff additionally reveals schema migration and error-mapping behavior changes that are not called out in the release notes.

    BreakingFeatures
  • v6.0.2

    v6.0.2 fixes TypeBox resolver validation errors for field names containing escaped path characters. The resolver now parses JSON Pointer path segments and decodes escaped slashes and tildes, with tests covering compiled and uncompiled schemas, arrays, and field validation.

  • v6.0.1

    v6.0.1 updates peer dependency metadata to remove @typeschema/main, addressing the documented typeschema issue. The diff contains no runtime code changes, but it also changes the typeschema package's peer dependency and updates the README logo URL.

  • v6.0.0

    v6.0.0 introduces Effect v4 support for the effect-ts resolver, including required schema API migrations and updated error typing and default messages. The release also bumps related dependencies, notably ata-validator, and updates the implementation of the resolver to use the Effect v4 schema decoding pipeline.

    BreakingFeatures
  • v5.9.2

    v5.9.2 includes an AJV-related bug fix focused on how resolver validation errors map field names back to user-provided paths, especially when those paths include JSON-pointer style escape sequences. The code changes also expand test coverage around required fields and nested escaped paths. Additionally, there is a dependency version bump not mentioned in the release notes.

  • v5.9.1

    v5.9.1 contains a bug fix related to how nested errors are reconstructed when field array paths are expressed using bracket notation (for example, scenarios[0].rows). The change adds a regression test to ensure nested array errors are preserved instead of overwritten.

  • v5.9.0

    v5.9.0 primarily updates the Joi validation dependency. The release notes only mention bumping Joi to v18, and the code diff shows this is implemented via changes to package.json and the lockfile.

    BreakingFeatures
  • v5.8.0

    Release v5.8.0 adds support for Vest 6. The code changes focus on updating how the resolver executes a Vest suite, aligning with Vest 6's suite API.

    Features
  • v5.7.1

    v5.7.1 is a patch release focused on updating the ata-validator peer dependency to a newer major/minor version. The diff shows only manifest and lockfile changes, with no application/source-code logic changes.

  • v5.7.0

    Release v5.7.0 adds support for Vine v4. The code changes primarily update tests and documentation to use Vine v4 schema construction APIs, and the dependency graph is updated accordingly.

    Features
  • v5.6.0

    v5.6.0 updates multiple resolver implementations to stop silently dropping validation errors when a form field name matches JavaScript Object prototype properties. The release notes describe the behavioral fix at a high level, and the code diff shows the same underlying implementation change applied across many libraries.

  • v5.5.8

    v5.5.8 fixes a Zod resolver issue where validation errors could be dropped when the validated field name matches inherited Object.prototype properties. The change ensures the internal error map does not treat keys like "toString" or "constructor" as already-present due to prototype inheritance.

  • v5.5.7

    Release v5.5.7 is a targeted fix for npm install failures caused by an ERESOLVE peer dependency conflict involving @hookform/resolvers and valibot versions. The only code changes are updates to valibot version constraints in package manifests.

  • v5.5.6

    v5.5.6 primarily addresses a runtime/module-resolution issue when importing `zodResolver` with Zod v3. The underlying fix is implemented by changing how `zod/v3` and `zod/v4/core` are imported and by updating the internal logic that recognizes Zod v4 errors.

  • v5.5.5

    v5.5.5 contains a targeted bug fix for how validation errors expose the `ref` for checkbox fields when using the Yup resolver. The actual code change adjusts `toNestErrors` to pull the real DOM element from react-hook-form’s `refs` array for radio/checkbox fields, and adds regression tests.

  • v5.5.4

    v5.5.4 updates the AJV resolver to avoid mutating the input values object during validation when using AJV features like defaults. The change is implemented by cloning the values before calling AJV validate, and then returning the cloned (parsed) result. A test was added to ensure the input object is not mutated, and the README received an additional ZodResolver type note.

  • v5.5.3

    v5.5.3 fixes conditional or dynamically selected Zod schemas not resolving correctly in zodResolver. The code changes also adjust how resolver detects Zod v3 versus v4 schemas and how it invokes Zod parse methods to avoid module-instance mismatches.