Почему функция не отменяет отправки формы

У меня есть вот такая функция в static/main.js:

  function getCookie(cookieName) {
    const name = cookieName + "=";
    const decodedCookie = decodeURIComponent(document.cookie);
    const cookieArray = decodedCookie.split(';');
    
    for (let cookie of cookieArray) {
        while (cookie.charAt(0) == ' ') {
            cookie = cookie.substring(1);
        }
        if (cookie.indexOf(name) == 0) {
            return cookie.substring(name.length, cookie.length);
        }
    }
    return "";
}

var UserDataGet = async (token) => {
    const userRequest = await fetch(`/api/GetUserInfo?token=${token}`);
  
    if (await userRequest.ok) {
      const userData = await userRequest.json();
      if (Object.keys(userData).length === 0) {
        return "0"; 
      } else {
        return userData;
      }
    } else {
      return "0";
    }
  };

var DataValidate = async () => {
  if ( await UserDataGet(getCookie("token")) == "0") {
    alert("you are not registred");
    return false
  }

  else {
    return true
  }
}

И вот такая форма:

<form method="POST" enctype="multipart/form-data" onsubmit = "return DataValidate()"> 
  <label for="Message">Write your message</label>
  <input name="Message" type="text">

  <input name="TopicId" type="hidden" value="">

  <input name="AuthToken" type="hidden" value="">

</form>

функция DataValidate() проверяет, зарегистрирован ли пользователь. Если нет, то возвращает false.Сама функция сама работает нормально. Но как мне возвращать в форму результат функции DataValidate()?


Ответы (0 шт):