Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di nikles
    Registrato dal
    Jul 2002
    Messaggi
    19

    Controllo (e correzione) Textbox

    Ciao a tutti.
    Ho bisogno una mano con la validazione lato client di un form di login a cui sto lavorando. Mi serve una verifica che permetta di riconoscere eventuali anomalie nel campo username, correggerne alcune e mostrare un errore in altre.

    Il form è composto da due textbox: il primo accetta come valore una stringa di testo nel formato "nome.cognome" ed il secondo accetta una password. I controlli devono essere fatti essenzialmente sul primo campo.

    Bisogna verificare:
    -che non vi siano spazi (eventualmente rimuoverli)
    -che non vi siano numeri
    -che non vi siano "vuoti" prima o dopo il punto (.cognome, nome.)
    -che non vi sia più di un punto separatore

    Bisogna memorizzare il risultato in due variabili (nome e cognome) e renderle tutte in minuscolo... passandole in un secondo momento al server.

    Esempio:
    stefano.rossi --> ok --> nome: stefano, cognome: rossi.
    SteFano.Rossi --> ok --> nome: stefano, cognome: rossi.
    stefano.rossi --> ok --> viene tolto lo spazio prima del nome
    ste fano.rossi --> ok --> viene tolto lo spazio interno alla stringa
    ste.fano.rossi --> non valido, troppi separatori
    stefano82.rossi --> non valido, presenza di un numero
    ste_fano.rossi --> non valido, carattere non permesso (underscore)
    stefano. --> non valido, manca un campo

    Credo che il tutto si possa fare con un'espressione regolare ma non riesco proprio a venirne ad una. La verifica lato client è necessaria onde evitare inutili richieste al server o ricaricare la pagina mostrando un errore.

    Le 3 variabili così ottenute (nome, cognome, password) devono poi essere confrontate con quelle presenti in una tabella di un database postgreSQL, ma per questo me la cavo da solo.

    Qualcuno mi aiuta? Vi prego...non ditemi di riscrivere il form con due campi separati per lo username... o di scrivere una label in rosso che dica "fare attenzione ad inserire il testo in modo corretto". Non devo aggirare il problema, devo risolverlo... e mi affido a chi ne sa più di me.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    2 operazioni distinte:
    - rimuovere eventuali spazi + rendere tutto minuscolo
    (e si puo' far ritornare questo valore qualunque sia il risultato del test successivo)
    - test con regExp per verificare (da inizio ^ a fine stringa $)
    • presenza di un solo punto
    • preceduto da almeno una lettera minuscola
    • seguito da almeno una lettera minuscola

    questi "almeno" possono diventare un numero minimo di caratteri sostituendo al +, per esempio, {3,}
    almeno 3 caratteri

    codice:
    var rifEl=document.nomeForm.nomeCampo;
    var val=rifEl.value.replace(/\s+/,'').toLowerCase();
    if(!/^[a-z]+\.[a-z]+$/.test(val)){
      // istruzioni per feedback all' utente circa l' errore
    }
    rifEl.value=val;
    ciao

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