Ciao a tutti,

sto cercando di validare un campo data di un form.

Il campo non e' obbligatorio ma se inserito bisogna verificare se e' stato inserito nella maniera corretta.

Sto provando cosi':

codice:
        // DATA A

        $dataA = $_POST['dataA'];    

          if ($dataA != "") {

            function chkdataA($dataA) {

            // GG/MM/AAAA
            if(!preg_match('/^(?:(?:31(\/)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/', $dataA)) {
                        
                return false;
                            
            }

            return true;
                                
            }

            if(chkdataA($dataA)) {

                $dataAErr = "";                                        
                $dataAdivStyleErr = "font-family: 'Roboto'; font-size: 14px; color: #000000; font-weight: none;";
                                        
            } else {
    
                $dataAErr = "Formato Data errato (ammesso GG/MM/AAAA)";
                $dataAdivStyleErr = "font-family: 'Roboto'; font-size: 14px; color: #ff0000; font-weight: none;";
                                    
            }

        }

        // FINE DATA A

Se lo inserisco non mi da nessun errore e me lo inserisce in maniera corretta nel db, se lo inserisco in maniera scorretta (23223232323...) mi riporta l'errore (valore non valido...) se non lo inserisco mi da errore !

Dove sto sbagliando ?