Puede ocurrir que en algún formulario necesitemos configurar un campo de tipo fecha para que muestre por defecto la fecha actual y además añadir una validación para que, por ejemplo, en ese campo solo pueda ingresarse una fecha menor o igual a la fecha actual. A continuación explicaremos los pasos para realizar estas configuraciones.


Paso 1: Añadimos un elemento "input" a nuestro formulario y lo definimos como tipo "fecha".


Paso 2:  Obtenemos la fecha actual y se la asignamos a nuestro campo

Esta configuración la haremos en el OnLoad , lo que haremos será obtener la fecha actual y luego asignarla a nuestro campo usando este código:

// Asignar la fecha actual al campo fecha

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; 
var yyyy = today.getFullYear();

if (wf.obtenerValor("campo-fecha") === "") {
	wf.modificarValor("campo-fecha", dd + "/" + mm + "/" + yyyy);
}
CODE


Paso 3: Personalizar la validación del campo fecha

Si además de asignar la fecha actual queremos añadir una validación personalizada, entonces debemos añadir una condición en la sección "Validaciones" de nuestro campo fecha. En este caso validaremos que ese campo contenga una fecha menor o igual a la fecha actual, así que obtendremos el valor ingresado en el campo fecha y lo compararemos con la fecha actual, si es mayor entonces mostraremos un mensaje que indica que la fecha no es correcta.

// Validación personalizada para el campo fecha

var selectedDate = wf.obtenerValor("campo-fecha");
var todayTimestamp = moment(new Date()).endOf('day').valueOf();
var selectedDateTimestamp = moment(selectedDate, webforms.i18n.DATE_FORMAT).valueOf();

if (selectedDateTimestamp > todayTimestamp) {
     wf.anadirError(this, 'La fecha debe ser anterior o igual a hoy.');
}
CODE

Descarga ejemplo

Tienes disponible el código json del ejemplo para su descarga y que puedas probarlo y adaptarlo a tus necesidades. 

Ver: campoFecha.json