Finish time must be after start time

This commit is contained in:
gaazzopa 2020-11-09 19:55:06 +01:00
parent 4bc097686c
commit 0b608ebc5d
3 changed files with 36 additions and 8 deletions

View file

@ -6,6 +6,10 @@
color: black;
}
.red {
.red_border {
box-shadow: 0px 0px 2px 1px red;
}
.red_text {
color: red;
}

View file

@ -160,12 +160,28 @@ function validate_form(form) {
//Validate all dates
$("input[required].datepicker").each(function () {
$(this).removeClass("red");
$(this).removeClass("red_border");
$(this).next().hide();
var fromDate = $(this).val();
if (!isValidDate(fromDate)) {
$(this).addClass("red");
$(this).addClass("red_border");
submit = false;
$(this).next().show();
}
});
//Validate all times
$("input[required].finish_time").each(function () {
$(this).removeClass("red_border");
$(this).next().hide();
var startTime = parseValToNumber($(this).prev());
var finishTime = parseValToNumber($(this));
if (startTime > finishTime) {
$(this).addClass("red_border");
submit = false;
$(this).next().show();
}
});
@ -183,6 +199,10 @@ function isValidDate(date) {
return composedDate.getDate() == d && composedDate.getMonth() + 1 == m && composedDate.getFullYear() == y;
}
function parseValToNumber(obj) {
return parseInt(obj.val().replace(':',''), 10);
}
/* ------ On Load ---------- */
$(document).ready(function () {

View file

@ -85,17 +85,20 @@ Beta v1.0.0 <span style="float:right; font-weight:bold">Please send feedback to
<option value="training">Training</option>
</select><br>
Start: <input type="time" id="activity_start" name="activity_start" value="09:00" required> &nbsp;&nbsp;
Finish: <input type="time" id="activity_finish" name="activity_finish" value="18:00" required><br>
Finish: <input type="time" id="activity_finish" class="finish_time" name="activity_finish" value="18:00" required>
<span id="activity_time_error" class="red_text" hidden>Finish time must be after start</span><br>
Infected person(s) presence: <br>
Start: <input type="time" id="infected_start" name="infected_start" value="09:00" required> &nbsp;&nbsp;
Finish: <input type="time" id="infected_finish" name="infected_finish" value="18:00" required><br>
Finish: <input type="time" id="infected_finish" class="finish_time" name="infected_finish" value="18:00" required>
<span id="infected_time_error" class="red_text" hidden>Finish time must be after start</span><br>
<hr width="80%">
When is the event?<br>
<input type="radio" id="event_type_single" name="event_type" value="single_event" onclick="require_fields(this)" required></input>
<label for="event_type_single">Single event</label> &nbsp;&nbsp;
<label for="single_event_date">Date: </label>
<input type="text" id="single_event_date" class="datepicker" name="single_event_date" placeholder="dd/mm/yyyy"><br>
<input type="text" id="single_event_date" class="datepicker" name="single_event_date" placeholder="dd/mm/yyyy">
<span id="event_time_error" class="red_text" hidden> Incorrect date format</span><br>
<input type="radio" id="event_type_recurrent" name="event_type" value="recurrent_event" onclick="require_fields(this)" required></input>
<label for="event_type_recurrent">Recurrent usage</label>
<select id="recurrent_event_month" name="recurrent_event_month">
@ -122,7 +125,8 @@ Beta v1.0.0 <span style="float:right; font-weight:bold">Please send feedback to
<div id="DIVlunch_break">
Start: <input type="time" id="lunch_start" name="lunch_start" unrequired> &nbsp;&nbsp;
Finish: <input type="time" id="lunch_finish" name="lunch_finish" unrequired><br>
Finish: <input type="time" id="lunch_finish" class="finish_time" name="lunch_finish" unrequired>
<span id="lunch_time_error" class="red_text" hidden>Finish time must be after start</span><br>
</div>
<!-- Coffee Options -->