¿Cómo ajustar la función del calendario para recibir un mensaje de advertencia cuando se selecciona una fecha pasada (YYYY-MM-DD)?
Esto requiere de una validación personalizada en el elemento calendario (calendario => Validación => click "Personalizado" => click "Crear marco de referencia"). Dentro de la función generada debe poner este código (entre { y }), obteniendo:
function ff_CALENDARITEMNAME_validation(element, message) { if(element.value.split("-").length != 3){return message == '' ? element.name+" faild in my test.n" : message
} var vDate = new Date(element.value.split("-")[0], Number(element.value.split("-")[1])-1, element.value.split("-")[2],0,0,0,0).getTime(); var today = new Date(); today.setHours(0); today.setMinutes(0); today.setSeconds(0); today.setMilliseconds(0); today = today.getTime(); if(vDate < today) { if (message=='') message = element.name+" faild in my test.n"; return message; } return ''; }
Este ejemplo es para el calendario js con el patrón de fecha por defecto (YYYY-MM-DD), por lo que el script anterior debería ser ligeramente distinto para otros patrones, como por ejemplo el español.
Tenga también en cuenta: CALENDARITEMNAME tiene que reemplazarse por el nombre de su elemento calendario. Esto se realiza automáticamente haciendo clic en "Crear marco de referencia".