Почему функция не отменяет отправки формы
У меня есть вот такая функция в 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()?