J'essaie d'écrire la gestion des erreurs sur la forme de crochet de réaction avec yup, mais quand je veux passer le résolveur comme le dit la documentation (https://www.npmjs.com/package/@hookform/resolvers) J'obtiens cette erreur:

SyntaxError: impossible d'utiliser l'instruction d'importation en dehors d'un module

module.exports = require ("@ hookform / resolvers / yup");

Mon schéma de validation:

const schema = Yup.object().shape({
  person: Yup.string()
    .min(3, "To pole jest za krótkie")
    .max(30, "To pole jest za długie")
    .required("To pole jest wymagane"),
});

Forme de crochet de réaction:

const {
    register,
    errors,
    handleSubmit,
    formState: { isSubmitting },
  } = useForm({ resolver: yupResolver(schema) });

Importations:

import { useForm } from "react-hook-form";
import { yupResolver } from '@hookform/resolvers/yup';
import * as Yup from "yup";

Version Npm:

"react-hook-form": "^6.15.1",
"yup": "^0.28.3"
"@hookform/resolvers": "^1.3.4",
0
Freestyle09 13 févr. 2021 à 16:52

1 réponse

Meilleure réponse

C'est un bug dans react-hook-form. https://github.com/react-hook-form/resolvers/issues/ 107

La seule solution à ce jour, si vous utilisez react-hook-form v6, est de rétrograder @hookform/resolvers vers 1.3.0, ou d'utiliser une version bêta 2.0.0-beta.3. Les versions plus récentes ne prennent en charge que le formulaire react-hook-form v7.

1
srflp 10 mars 2021 à 22:24