Реактивная проверка времени формы не работает - предупреждайте, не показывает, когда время начала будет позже, чем времяJavascript

Форум по Javascript
Ответить
Anonymous
 Реактивная проверка времени формы не работает - предупреждайте, не показывает, когда время начала будет позже, чем время

Сообщение Anonymous »

`Я работаю над функцией планирования в проекте React, где учителя могут обновить свои доступные часы. Форма включает в себя поля начала и времени окончания. Моя цель состоит в том, чтобы показать оповещение, если время начала превышает или равно времени окончания, но оповещение не показывает, когда я ввожу недопустимый диапазон (например, время начала 11:00, время окончания 10:00). < /P>
Вот моя логика функции Handlesubmit < /p>

const handleSubmit = async (e) => {`
e.preventDefault();
if (!formData.startTime || !formData.endTime) {
alert("Please select both start and end time.");
return;
}

try {
const startTimeStr = formData.startTime.padEnd(5, ":00").slice(0, 5);
const endTimeStr = formData.endTime.padEnd(5, ":00").slice(0, 5);
if (startTimeStr >= endTimeStr) {
alert("Start time must be earlier than end time");
return;
}

const updatedData = {
date: formData.date,
day: formData.day,
startTime: formData.startTime,
endTime: formData.endTime,
};

await updateAvailhours(selectedHour._id, updatedData);

fetchAvailableHours();

setIsModalOpen(false);
alert("Available hour updated successfully!");
} catch (error) {
console.error("Update failed:", error);
alert(
"Failed to update. " + (error.response?.data?.message || "Try again.")
);
}
};
< /code>
Несмотря на эту логику, когда я ввожу starttime = "11:00" и Endtime = "10:00", он не показывает оповещение и не останавливает представление формы. Форма продолжается так, как будто все действительна. < /P>
Запускание ведения журнала и значения Endminutes - они кажутся правильными.
Обертывание логики Try ... Catch - нет ошибки. startminutes> = condminutes Условие не останавливает форму.
e.preventdefault () обходится.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... time-is-la
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»