Mille grazie per aver risposto.

Ho integrato il tuo esempio con questo già esistente:

codice:
<script language="JavaScript" type="text/JavaScript">
<!--

function dataValida(txt){
	var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
	if(re.test(txt)){
		var adata = txt.split('/');
		var gg = parseInt(adata[0],10);
		var mm = parseInt(adata[1],10);
		var aaaa = parseInt(adata[2],10);
		var xdata = new Date(aaaa,mm-1,gg)
		if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
			return xdata
		else return false
	}else return false
}

function convalidaForm(Qform) 
{

if(Qform.es.checked)
		if(!dataValida(Qform.data_int.value)){
			alert('check selezionato! Inserire una data valida');
			return false
		} 

  for (var a = 0; a < Qform.elements.length; a++) 
	{
	var campo = Qform.elements[a];

if (campo.value.length <= 0)

		{
        	window.alert('Il campo "' + campo.name +'"\nè un campo obbligatorio in questo form.');
        	campo.focus();
        	return false;
        }
      }

     
      
  // Abilita l'invio del FORM
  return(true);
}
 
//-->
</script>
Funziona bene.

Adesso potrei disabilitare (facendolo diventare grigio) il campo data_int sino a quando il checkbox "es" non venga selezionato?