Проблема сравнения входной даты с текущей датой - PullRequest
0 голосов
/ 12 мая 2019

Я пытаюсь создать веб-страницу, которая позволяет пользователю вводить некоторую информацию о полете самолета. Я хочу подтвердить дату и время вылета / прибытия рейса, чтобы убедиться, что прибытие происходит после вылета, а вылет - после текущей даты и т. Д. У меня работает сравнение отправления и прибытия, но сравнение отправления и текущей даты ничего не делает.

Для другой страницы, которая у меня есть, добавление Date.parse () к сработавшей дате ввода пользователем (var depDate = Date.parse (document.forms ["newFlight"] ["выезд_дата"]. Value;)), но здесь , это просто не работает ни одно из сравнений дат и даже не решает проблему сравнения текущих дат.

<head>
<script>
function validateDatePrice() {
  var basePrice = document.forms["newFlight"]["base_price"].value;
  var depTime = document.forms["newFlight"]["departure_time"].value;
  var arrTime = document.forms["newFlight"]["arrival_time"].value;
  var depDate = document.forms["newFlight"]["departure_date"].value;
  var arrDate = document.forms["newFlight"]["arrival_date"].value;
  var currDate = new Date(); 

  if (isNaN(basePrice)) {
    alert("Please enter a numerical value for base price.");
    return false;
  }
  if (currDate <= depDate) {
    alert("The departure date must be after the current date.");
    return false;
  }
  if (depDate > arrDate) {
    alert("Arrival date must be the same as or after the departure date.");
    return false;
  }
  if (depDate == arrDate && depTime >= arrTime) {
    alert("Arrival time must be later than departure time, if your flight takes off and lands on the same day.");
    return false;
  }
}
</script>
</head>
<body>

<form name = "newFlight" action="/airlineStaff/addFlightAuth" onsubmit="return validateDatePrice()" method="POST">
    Departure Date: <input type="date" name = "departure_date" placeholder="departure date" required/> </br>
    Departure Time: <input type="time" name = "departure_time" placeholder="departure time" required/> </br>

    Arrival Date: <input type="date" name = "arrival_date" placeholder="arrival date" required/> </br>
    Arrival Time: <input type="time" name = "arrival_time" placeholder="arrival time" required/> </br>

    $ <input type="text" name = "base_price" placeholder="base price" required/> </br>

    <input type="submit" value = "Submit"/>
    <input type="reset">
    {% if error %}
        <p class="error"><strong>Error:</strong> {{error}}</p>
    {% endif %}
</form>
</body>
</html>

Оператор if для (currDate <= depDate) никогда не приводит к значению false, предупреждающее сообщение никогда не отображается. Я хочу, чтобы всплыло предупреждающее сообщение, и чтобы пользователь был вынужден фиксировать дату отъезда, если дата отъезда равна или предшествует текущей дате. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...