comment empêcher la soumission du formulaire uniquement s'il détecte une erreur

Dec 05 2020

J'essaie d'empêcher la soumission du formulaire uniquement lorsque j'attrape une erreur

J'ai cette fonction liée à mon formulaire sur

const submitHandler = async (e) => {
        e.preventDefault();
        try {
            const submitForm = await axios.post(
                "http://localhost:5000/users/register",
                info
            );
            setError("");
        } catch (error) {
            const err = error.response.data.msg;
            setError(err);
            // display the msg on screen
        }
    };

en ce moment, j'ai e.preventDefault () en haut qui arrêtera le formulaire et affichera le msg de réponse mais je veux que cela se produise uniquement s'il y avait une erreur dans le "catch"

sinon je veux qu'il soit soumis et fasse autre chose comme rediriger vers la page de connexion

Réponses

M11CH Dec 05 2020 at 01:48

Dans le bloc try, vous pouvez utiliser la .submit()méthode de jQuery avec l'ID du formulaire:

$("#ID").submit();

Si vous n'utilisez pas jQuery, vous pouvez utiliser vanilla JS:

document.getElementById("myForm").submit();