MUI DatePicker n'est pas compatible avec Formik : date.isBefore n'est pas disponible
P粉046387133
2023-08-25 08:54:13
<p>J'utilise Formik pour créer un formulaire dans React et j'utilise également des composants MUI.Le problème est que j'obtiens l'erreur suivante : </p>
<pre class="brush:php;toolbar:false;">date.isBefore n'est pas une fonction
TypeError : date.isBefore n'est pas une fonction
sur DayjsUtils.isBeforeDay (http://localhost:3000/static/js/bundle.js:2319:19)
à validateDate (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:10596:43)
sur useValidation (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:10654:27)
sur usePickerValue (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:10019:75)
sur usePicker (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:9876:94)
sur useDesktopPicker (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:7848:60)
sur DesktopDatePicker (http://localhost:3000/main.aa62b4b6c891ec5ff2b0.hot-update.js:3956:90)
sur renderWithHooks (http://localhost:3000/static/js/bundle.js:103306:22)
sur updateForwardRef (http://localhost:3000/static/js/bundle.js:105877:24)
àbeginWork (http://localhost:3000/static/js/bundle.js:107924:20)</pre>
<p>Voici mon code : </p>
<pre class="brush:php;toolbar:false;"><Formik
onSubmit={handleFormSubmit}
initialValues={initialValuesProject}
validationSchema={projectSchema}
>
{({ valeurs, handleChange, handleSubmit, setFieldValue }) =>
<form onSubmit={handleSubmit}>
<Largeur de la boîte ="50%">
<LocalizationProvider dateAdapter={AdapterDayjs}>
<Sélecteur de dates
id="project_start"
name="project_start"
valeur={values.project_start}
slotProps={{
champ de texte: {
taille : "petit",
marge : "dense",
},
}}
/>
<Sélecteur de dates
id="project_end"
name="fin_projet"
valeur={values.project_end}
slotProps={{
textField : { taille : "petite", marge : "dense" },
}}
/>
</Provider de localisation>
≪/Boîte>
</formulaire>
)}≪/Formik>≪/pre>
<p>Voici le mode et les valeurs initiales : </p>
<pre class="brush:php;toolbar:false;">const projectSchema = yup.object().shape({
project_start : ouais.date(),
project_end : ouais.date(),
nom_du projet : yup.string().required("required"),
userId : ouais.string(),
ID partenaire : ouais.string(),
CategoryId : ouais.string(),
});
const initialValuesProject = {
projet_start : Date.now(),
projet_end : Date.now(),
nom_projet : "",
identifiant utilisateur : "",
ID partenaire : "",
ID de catégorie : "",
};</pré>
<p>Un grand merci à tous ceux qui pourront m'aider <3</p>
<p>Être capable de faire fonctionner le sélecteur de date</p>
On dirait que le problème est là :
Le type de project_start et project_end doit être Dayjs :