Function IsValidDate(cData) Local dDate Local aDate := {} // Verifica se a data está no formato DD/MM/AAAA If Len(cData) <> 10 .OR. Substr(cData, 3, 1) <> '/' .OR. Substr(cData, 6, 1) <> '/' Return .F. EndIf // Divide a string da data em um array // Tenta criar uma data com os valores do array Try dDate := CtoD(aDate) Catch Return .F. EndTry // Verifica se a data criada é válida If !Empty(dDate) .AND. Year(dDate) == aDate[3] .AND. Month(dDate) == aDate[2] .AND. Day(dDate) == aDate[1] Return .T. Else Return .F. EndIf EndFunc