1
0
mirror of https://github.com/muety/wakapi.git synced 2023-08-10 21:12:56 +03:00

Prevent invalid dates ranges in summary page

It is currently possible to enter a "End" date that is before the start
date, or a "start" date that is after the end date. This commit prevent the
user from directly entering an invalid date by setting a "min" and "max"
value on those two date picker.

There are no validation or the server's side, but that shouldn't be a
problem since the invalid date will not create an error, it will simply
not return any data.
This commit is contained in:
Roch D'Amour 2021-03-06 02:33:08 -05:00
parent 292ae41c58
commit 17ddd7ca76

View File

@ -45,12 +45,12 @@
<form class="text-white flex flex-nowrap items-center justify-center self-center max-w-xl flex-wrap space-x-8"> <form class="text-white flex flex-nowrap items-center justify-center self-center max-w-xl flex-wrap space-x-8">
<div class="flex space-x-1"> <div class="flex space-x-1">
<label for="from-date-picker" class="text-gray-300 pl-1">▶️ Start:</label> <label for="from-date-picker" class="text-gray-300 pl-1">▶️ Start:</label>
<input id="from-date-picker" type="date" name="from" class="text-sm text-gray-300 bg-gray-800 rounded-md text-center cursor-pointer" <input id="from-date-picker" type="date" name="from" max="{{ .ToTime.T | simpledate }}" class="text-sm text-gray-300 bg-gray-800 rounded-md text-center cursor-pointer"
value="{{ .FromTime.T | simpledate }}" required> value="{{ .FromTime.T | simpledate }}" required>
</div> </div>
<div class="flex space-x-1"> <div class="flex space-x-1">
<label for="to-date-picker" class="text-gray-300 pl-1">⏹️ End:</label> <label for="to-date-picker" class="text-gray-300 pl-1">⏹️ End:</label>
<input id="to-date-picker" type="date" name="to" class="text-sm text-gray-300 bg-gray-800 rounded-md text-center cursor-pointer" <input id="to-date-picker" type="date" name="to" min="{{ .FromTime.T | simpledate }}" class="text-sm text-gray-300 bg-gray-800 rounded-md text-center cursor-pointer"
value="{{ .ToTime.T | simpledate }}" required> value="{{ .ToTime.T | simpledate }}" required>
</div> </div>
<div> <div>
@ -224,6 +224,17 @@
wakapiData.editors = {{ .Editors | json }} wakapiData.editors = {{ .Editors | json }}
wakapiData.languages = {{ .Languages | json }} wakapiData.languages = {{ .Languages | json }}
wakapiData.machines = {{ .Machines | json }} wakapiData.machines = {{ .Machines | json }}
document.getElementById("to-date-picker").onchange = function () {
var input = document.getElementById("from-date-picker");
input.setAttribute("max", this.value);
}
document.getElementById("from-date-picker").onchange = function () {
var input = document.getElementById("to-date-picker");
input.setAttribute("min", this.value);
}
</script> </script>
<script src="assets/app.js"></script> <script src="assets/app.js"></script>