Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    296

    Attributo required non viene considerato

    Buongiorno a tutti,
    ho un problema che sto riscontrando con l'attributo required:

    Ho un form all'interno di una pagina php che tramite post passa i dati ad una pagina che si occupa di memorizzare i dati in un database. Da qualche tempo, non mi vengono più validati i campi impostati con l'attributo required, provo a postare un esempio nella speranza di ricevere un consiglio, perchè mi sto ritrovando campi caricati nel db ma non valorizzati:

    Riporto un estratto del form, questa la parte iniziale:

    codice HTML:
    <form class="form" method="post" id="modulo" action="index.php?page=salva" enctype="multipart/form-data">
    <div class="form-container">
    <div class="card-commesse">  
    <div class="card-header">Anagrafica Cliente</div>  
    <div class="card-block">
        <div class="row">
            <div class="col-md-2">
                  <div class="input-group">
                    <span class="input-group-addon"><i class="far fa-calendar-alt" aria-hidden="true"></i></span>
                    <input type="text" class="form-control" id="datepicker" placeholder="Data Commessa" name="data" autocomplete="off" required="required">
                  </div>
            </div>
        </div>
    questa la parte finale

    codice HTML:
    <div class="text-right">
            <button type="button" class="btn btn-success right" onclick="if(confirm('Vuoi registrare?')){this.form.submit();}">Registra</button>
        </div>
          </div><!--Close Form Container--></form><!--Close Form-->
    Questo problema di verifica con tutti i browser...

    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    19,367
    Quote Originariamente inviata da condor_uk Visualizza il messaggio
    Questo problema di verifica con tutti i browser...
    quindi hai potuto verificare personalmente la questione, giusto?
    il problema lo riscontri lato client compilando il form (quindi non vedi il tooltip di required) o solo non trovi i dati che dovrebbero essere registrati?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    296
    Buongiorno Vincent.Zeno,
    ti confermo che il problema lo riscontro lato client, proprio come hai inquadrato tu la questione non viene evidenziato il campo che dovrebbe essere "obbligatorio"
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    19,367
    serve vedere la pagina dal vivo o una demo equivalente

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    19,367
    ho fatto un piccolo test e vedo che l'uso di una richiesta d'invio tramite JS (this.form.submit()) rende inutile la richiesta "required".
    devi cambiare strategia

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    296
    Caspita
    adesso mi ritrovo un bel grattacapo, stando alla tua esperienza, potrei validare i campi utilizzando magari javascript o cosa faresti al mio posto ? Purtroppo o per fortuna a me serve javascript per chiedere conferma all'utente prima di registrare dei dati.
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    19,367
    la validazione lato client è solo "preventiva" e inaffidabile.
    va fatta dal server dove hai il reale controllo di tutto.

    eliminerei l'alert js di conferma: non è realmente utile ai fini del programma.
    tutti gli avvisi è meglio elaborarli lato server e restituirli al client stampati sulla pagina di risposta.

    l'alternativa è l'uso di ajax, ma è solo per l'aspetto client. di fatto potrai fare i controlli lato server.

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    296
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    eliminerei l'alert js di conferma: non è realmente utile ai fini del programma
    In realtà quella conferma è stata inserita perchè l'utente frequentemente in fase di compilazione della commessa, premeva involontariamente il tasto invio e la commessa veniva automaticamente registrata nel database senza che effettivamente la compilazione della stessa fosse stata completata.

    Avevo anche pensato di porre il tasto "Salva Commessa" in uno stato "disable" e farlo attivare solo quando tutti i campi obbligatori sono stati valorizzati, ma sinceramente non so come fare
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  9. #9
    Non mi sembra piò una questione di HTML5!
    Ti sposto in JS o preferisci un linguaggio lato server?
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    296
    Quote Originariamente inviata da carlomarangoni Visualizza il messaggio
    Non mi sembra piò una questione di HTML5!
    Ti sposto in JS o preferisci un linguaggio lato server?
    Buonasera carlomarangoni,
    grazie per l'intervento, spostami pure nella sezione JS, qual'ora non dovessi riuscire a risolvere valuto poi un post nei forum lato server.

    Grazie ancora a tutti per gli interventi.
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

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 © 2020 vBulletin Solutions, Inc. All rights reserved.