Allow you to define conditions for date and time fields.
- Example 1: When an end date is equal to the start date, either default the start date to the end date or simply hide the end date field
- Example 2: When the end date is less than the start date display a message to the user "Set a correct end date.
Exemple Custom JS Code
// Get the input elements
let dateDebut = document.getElementById(‘[date-de-début]’);
let dateFin = document.getElementById(‘[date-de-fin]’);
let heureDebut = document.getElementById(‘[heure-de-début]’);
let heureFin = document.getElementById(‘[heure-de-fin]’);
// Get the item to display messages
let message = document.getElementById(‘message’);
// Define dates functions before using them
function verifierDates() {
if (dateFin.value === dateDebut.value) {
dateFin.style.display = ‘none’;
} else if (new Date(dateFin.value) < new Date(dateDebut.value)) {
message.textContent = ‘Veuillez définir une plage de date valide : Saisir une date de fin Supérieure ou égale à la date de début’;
} else {
dateFin.style.display = ‘’;
message.textContent = ‘’;
}
}
// Define times functions before using them*
function verifierHeures() {
if (heureFin.value < heureDebut.value) {
message.textContent = ‘Veuillez définir une plage horaire valide : Saisir une heure de fin Supérieure ou égale à l'heure de début’;
} else {
message.textContent = ‘’;
}
}
// Check dates and times whenever they change
dateDebut.addEventListener(‘change’, verifierDates);
dateFin.addEventListener(‘change’, verifierDates);
heureDebut.addEventListener(‘change’, verifierHeures);
heureFin.addEventListener(‘change’, verifierHeures);
function verifierDates() {
if (dateFin.value === dateDebut.value) {
dateFin.style.display = ‘none’;
} else if (new Date(dateFin.value) < new Date(dateDebut.value)) {
message.textContent = ‘Veuillez définir une plage de date valide : Saisir une date de fin Supérieure ou égale à la date de début’;
} else {
dateFin.style.display = ‘’;
message.textContent = ‘’;
}
}
function verifierHeures() {
if (heureFin.value < heureDebut.value) {
message.textContent = ‘Veuillez définir une plage horaire valide : Saisir une heure de fin Supérieure ou égale à l'heure de début’;
} else {
message.textContent = ‘’;
}
}
// Now add the event listeners
dateDebut.addEventListener(‘change’, verifierDates);
dateFin.addEventListener(‘change’, verifierDates);
heureDebut.addEventListener(‘change’, verifierHeures);
heureFin.addEventListener(‘change’, verifierHeures);