RISOLTO validazione html senza bloccare invio

Stato
Discussione chiusa ad ulteriori risposte.

personalele

Nuovo Utente
51
10
Ciao,
Ho un problema molto difficile (per me). Ho bisogno di convalidare il modulo di input, ho usato un template con la convalida HTML. Ci sono 2 problemi:
1. la convalida html (ho usato i pattern) controlla solo input non vuoti o obbligatori, ma io ho bisogno di mostrare l'icona di avviso con il risultato della convalida per tutti gli input, anche per quelli non richiesti e vuoti;
2. Devo solo mostrare il risultato della convalida con l'icona, ma devo continuare, senza bloccare l'invio.
Come posso fare?

Grazie mille e buona giornata.
Gabriele..
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,447
11,502
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
Ciao mostra un po' di codice altrimenti aiutare cosi diventa impossibile
 
  • Mi piace
Reazioni: Moffetta88

BigIssue

Utente Attivo
221
18
CPU
intel dual core n3050
Scheda Madre
asus x540s
RAM
4gb
GPU
intel HD
OS
Windows 10
altrimenti aiutare cosi diventa impossibile
Se riesco entro sera ti posto il codice di esempio.

la convalida html (ho usato i pattern) controlla solo input non vuoti o obbligatori, ma io ho bisogno di mostrare l'icona di avviso con il risultato della convalida per tutti gli input, anche per quelli non richiesti e vuoti;
Dovrai predisporre il DOM (document object model - la struttura html) della tua pagina html per contenere un contenitore per il messaggio da mostrare che con i css inizialmente è nascosto. Stesso discorso, per ciascun campo occorrerà mostrare l'icona di avviso.

Devo solo mostrare il risultato della convalida con l'icona, ma devo continuare, senza bloccare l'invio.
Utilizza chiamate ajax di jQuery per validare a lato server se necessario.
Altrimenti in jQuery o javascript controlla l'input del campo quando l'elemento prende il focus o lo perde, mostrando cosi il messaggio generico e le icone di avviso.
 

Dumah Brazorf

Utente cAttivo
Utente Èlite
7,639
3,556
Una pagina di riepilogo con le informazioni inserite e le informazioni sulla convalida?
Fare la convalida di ogni campo durante la digitazione?
 

BigIssue

Utente Attivo
221
18
CPU
intel dual core n3050
Scheda Madre
asus x540s
RAM
4gb
GPU
intel HD
OS
Windows 10
Una pagina di riepilogo con le informazioni inserite e le informazioni sulla convalida?
sono daccordo.

Oppure una pagina con le informazioni che mostra anche le icone di avvisi di convalida se la convalida non deve essere fatta in dinamico con javascript.
"Senza bloccare invio" probabilmente non richiederà finestre di dialogo che avvisi l'utente dell'uso non corretto.
 

personalele

Nuovo Utente
51
10
Intanto, grazie a tutti per le risposte.

Altrimenti in jQuery o javascript controlla l'input del campo quando l'elemento prende il focus o lo perde, mostrando cosi il messaggio generico e le icone di avviso.
Questa soluzione sarebbe la migliore, ma dovrei eseguire un controllo di tutti i campi anche al caricamento del form e caricare vicino a ciascun input un'icona in base alla validazione (campo vuoto, campo non valido, campo valido), ma come dovrei fare praticamente? Un metodo per inviare il form anche con la validazione html non superata?
Scusatemi, vi ringrazio.
Gabriele.
 
  • Mi piace
Reazioni: BigIssue

Dumah Brazorf

Utente cAttivo
Utente Èlite
7,639
3,556
Solo io non riesco a capire perchè l'utente dovrebbe voler inviare ugualmente i dati se sono scritti alla caxxo di cane?
 

personalele

Nuovo Utente
51
10
Solo io non riesco a capire perchè l'utente dovrebbe voler inviare ugualmente i dati se sono scritti alla caxxo di cane?
ahahah, ottima osservazione...mi spiego meglio.
I form contengono tanti campi, tutti (o quasi) indispensabili per l'evasione della richiesta. Tuttavia, essendo appunto tanti, di cui alcuni potrebbero non essere già a disposizione dell'utente, avrei bisogno di registrare comunque i dati, ma avere a colpo d'occhio l'indicazione delle informazioni ancora mancanti o non inserite correttamente.
 

Dumah Brazorf

Utente cAttivo
Utente Èlite
7,639
3,556
Tanti controllini in javascript/jquery uno per campo che partono alla digitazione/uscita dal focus e rendono visibili o meno del testo/immagini/cambiano colore al testo. Non bloccano nulla.
 
  • Mi piace
Reazioni: personalele

Skills07

Head of Development
Staff Forum
Utente Èlite
35,447
11,502
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
Sui vari campi è possibile creare una serie di controlli con Script javascript per dare la segnalazione ad esempio mettiamo caso che tu abbia una input box type "text" value "pippo" fai cosi:
JavaScript:
function controlData(){
    var pippo = document.getElementById("pippo").value;
    
    if(pippo === ""){
        document.getElementById("pippo").style.border ="red";
    }
}

questo in maniera brutale e semplice
 

BigIssue

Utente Attivo
221
18
CPU
intel dual core n3050
Scheda Madre
asus x540s
RAM
4gb
GPU
intel HD
OS
Windows 10
Se riesco entro sera ti posto il codice di esempio.
Piu tardi ora non posso, ti scrivo il codice e lo capiamo assieme.

Inanzitutto ti servirà anche la validazione php lato server cosi inserisci i campi nel database solo se validati correttamente, quelli che non superano la validazione li salti. Ci sentiamo nel pomeriggio.
 
  • Mi piace
Reazioni: personalele

personalele

Nuovo Utente
51
10
Sui vari campi è possibile creare una serie di controlli con Script javascript per dare la segnalazione ad esempio mettiamo caso che tu abbia una input box type "text" value "pippo" fai cosi:
JavaScript:
function controlData(){
    var pippo = document.getElementById("pippo").value;
   
    if(pippo === ""){
        document.getElementById("pippo").style.border ="red";
    }
}

questo in maniera brutale e semplice
Grazie. Dovrei richiamare la funzione per ogni input che perde il focus ad esempio. E dovrei fare una funzione per controllare tutti i campi al caricamento del form. ci provo :)
 

BigIssue

Utente Attivo
221
18
CPU
intel dual core n3050
Scheda Madre
asus x540s
RAM
4gb
GPU
intel HD
OS
Windows 10
Piu tardi ora non posso, ti scrivo il codice e lo capiamo assieme.
Guarda i file di questo post. E' una pagina html5 che prende in ingresso una pagina di dati per effettuare un pagamento.
Sono tutti campi in html5 quindi sono campi dove viene gia fatta la validizazione. Vedere validazione email.
Il progetto è stato fatto con twitter bootstrap ui.
Esegui con chrome o microsoft edge la pagina index.html che dopo aver scompattato in un percorso lo zip in allegato.
Per sicurezza puoi togliere la parte dove chiede le informazioni della carta di credito.

nel progetto manca:
  1. invio di dati con la chiamata ajax in jquery alla pagina personalelevalidation.php
  2. la pagina personalelevalidation.php che valida a lato server e inserisce ipoteticamente nel database
Per quanto riguarda il punto 2) sto cercando una libreria in php (senza utilizzo di un framework come codeigniter o laravel) che faccia la validazione dell'input inviato dall'utente alla pagina presonalelevalidation.php. Appena l'ho realizzato ti avviso e posto questi file aggiornati.

Ciao zabit
Ricordati di mettere "RISOLTO" se cosi fosse.
 

Allegati

  • tomshwpersonalele.zip
    318.5 KB · Visualizzazioni: 17

Skills07

Head of Development
Staff Forum
Utente Èlite
35,447
11,502
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
no puoi richiamare quella funzione sulla SUBMIT ovvero il click finale della form, e prefezionandola in base ai controlli che ti servono stampa a video quello che dovrebbe fare (esempio illuminare di rosso la casella vuota).
 

Skills07

Head of Development
Staff Forum
Utente Èlite
35,447
11,502
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb ,2tb x 2 toshiba P300, 256 Ssd silicon power, Samsung evo plus 1tb nvme
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
Zotac - RTX 3070 Ti Trinity OC
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
@zabi credo che tu gli stia complicando la vita cosi... piuttosto che ci faccia vedere il suo codice.... aspetterei a parlare di Php quando questi controlli li puo' fare tutti client side senza troppi problemi con una sola funzione
 
  • Mi piace
Reazioni: Mursey
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili