как предотвратить отправку формы только в том случае, если она обнаруживает ошибку

Dec 05 2020

я пытаюсь предотвратить отправку формы только тогда, когда я поймаю ошибку

у меня эта функция связана с моей формой onSubmit

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
        }
    };

прямо сейчас у меня есть e.preventDefault () наверху, который остановит форму и отобразит сообщение ответа, но я хочу, чтобы это происходило только в том случае, если была ошибка в "catch"

в противном случае я хочу, чтобы он отправился и сделал что-то еще, например, перенаправление на страницу входа

Ответы

M11CH Dec 05 2020 at 01:48

В блоке try вы можете использовать .submit()метод jQuery с идентификатором формы:

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

Если вы не используете jQuery, вы можете использовать vanilla JS:

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