Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Verifica di un campo se inserimento corretto ma non obbligatorio

    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 ?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    A che serve la funzione chkdataA() messa lì? Se non la chiami da qualche parte, e non lo fai, non viene eseguita.
    Le funzioni per attivarle c'è bisogno che da qualche parte vengano chiamate, scrivendole e basta stanno lì e non fanno niente.

    Togli la segnatura di funzione e lascia solo il suo codice nell'if.

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Mi correggo avendo letto di fretta il codice ed essendomi accorto ora che la funzione viene chiamata.

    Mostra il codice dove fai l'output di $dataAErr e cosa scrive effettivamente quando non si compila il campo dataA.

  4. #4
    Ciao

    Allora, sto lavorando su un belin di server che non mi restituisce nessun errore, anche provando a inizio pagina a dichiarare il resoconto degli errori (e non potendo accedere al php.ini):

    error_reporting(E_ALL & ~E_NOTICE);

    non riesco a capire che errore sia, il form ha due campi:
    dataDa e dataA (e' un form di raccolta dati sulle esperienze di lavoro), ovviamente, il campo dataDa raccoglie la data di inizio (e percio' deve essere obbligatorio con relativo controllo di data corretta in formato GG/MM/AAAA) e dataA quello di fine esperienza lavorativa, e potrebbe essere che la persona sta lavorando a un progetto e non ha ancora finito e percio' non obbligatorio.
    Mi piacerebbe pero', che dataA non sia obbligatorio, ma che se inserito in formato errato non sia accettato.

    Se inserisco dataDa e dataA, funziona tutto correttamente, salva i dati nel Db, insomma, tutto ok !
    Se pero' inserisco dataDa e non inserisco dataA, si blocca.




    Inserisco tutti e due i campi:
    tutti_e_due.jpg

    Tutto bene !
    ok.jpg
    Immagini allegate Immagini allegate
    Ultima modifica di _Micky_73; 13-10-2017 a 21:18

  5. #5
    A proposito, se inserisco la data di inizio in formato corretto e la data di fine in formato errato, mi restituisce correttamente il messaggio di errore:

    errore.jpg

  6. #6
    Up, non sono piu' riuscito a risolvere questo problema, ed e' l'ultima cosa che mi manca

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Quale errore ti dà ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Quale errore ti dà ?
    Nessun errore....

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    Allora cos’è che non va ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Allora cos’è che non va ?
    Ho spiegato tutto nei post precedenti, ho postato anche delle immagini esplicative

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.