• User Attivo

    Campi obbligatori "Validator controls"

    Salve è da un po che non scrivo...e ora mi ritrovo a farlo perchè vorrei modificare qualcosina nel mio forum in asp!
    Praticamente nella fase di registrazione di default alcuni campi tipo username e password e email sono obbligatori...invece altri (che io vorrei rendere obbligatori) non lo sono.
    Guardandomi lo script non ho notato alcuna differenza tale che possa farmi capire quali stringhe servano per validare i campi username...etc che non ci fossero tra le stringhe degli altri campi..cosìcchè io possa fare la differenza....per questo vi chiedo aiuto.
    siccome il codice che dovrei postare è un po lunghetto...come faccio??posso incollarlo??


  • User Newbie

    @La Maglia Rosanero said:

    Salve è da un po che non scrivo...e ora mi ritrovo a farlo perchè vorrei modificare qualcosina nel mio forum in asp!
    Praticamente nella fase di registrazione di default alcuni campi tipo username e password e email sono obbligatori...invece altri (che io vorrei rendere obbligatori) non lo sono.
    Guardandomi lo script non ho notato alcuna differenza tale che possa farmi capire quali stringhe servano per validare i campi username...etc che non ci fossero tra le stringhe degli altri campi..cosìcchè io possa fare la differenza....per questo vi chiedo aiuto.
    siccome il codice che dovrei postare è un po lunghetto...come faccio??posso incollarlo??

    Ciao,

    bisognerebbe prima capire se si tratta di convalida lato client o lato server...

    A limite prova a incollare il codice contenuto nel tag <form>...</form>


  • User Attivo

    I validator controls sono del framework .net
    Tu parli di asp quindi bisogna capire innanzitutto se intendi asp.net o asp classic


  • User Attivo

    asp classic


  • User Attivo

    come dice bubibubi, devi fare un controllo javascript o lato server?
    Incolla la parte di html che riguarda i campi e la parte di asp che riguarda le request dei campi


  • User Attivo

    grazie per la risposta....e mi scuso del ritardo della mia...ma ho avuto un lutto in casa.
    comunque...siccome non so da dove partire....allego il file zip con dentro il file register.asp e poi mi dite
    grazie

    P.S il file anche se è nominato .zip è un file rar...l'ho cambianto di estensione perchè altrimenti non me lo faceva allegare...


  • Super User
    'If this is a new reg clean up the username
            If strMode = "new" Then
    
                    'Check there is a username
                    If Len(strUsername) < 2 Then blnUsernameOK = False
    
                    'Make sure the user has not entered disallowed usernames
                    If InStr(1, strUsername, "admin", vbTextCompare) Then blnUsernameOK = False
                    	
                    'Clean up user input
                    strUsername = formatSQLInput(strUsername)
            End If
    

    In questa parte di codice controlla la lunghezza del nome utente, dovresti fare qualcosa di simile anche per i campi che vuoi rendere obbligatori.


  • User Attivo

    Quindi
    If Len(strUsername) < 2 Then blnUsernameOK = False
    If Len(stretà) < 2 Then blnetàOK = False
    etc etc per quello che voglio render eobbligatorio??
    nell'esempio ho messo l'età"


  • Super User

    Si più o meno. Poi dopo ovviamente devi vedere dove usa blnUsernameOK e fare una cosa analoga per età.

    PS: io di solito non uso lettere accentate nei nomi di variabile, non so se sia un problema ma eviterei.


  • User Attivo

    niente non riesco....mi da errore!! mi dive che la variabile blnRealNameOK è una variabile indefinita.......bah...io però all'inizio della pagina dove ci sono tutte le variabili....l'ho messo!


  • Super User

    Strano, se l'hai messa all'inizio e inizializzata a true dovrebbe andare bene. Sicuro di non aver sbagliato nome?


  • User Attivo

    hai messo dim blnRealNameOK?
    E poi hai fatto blnRealNameOK=true?

    Nel tuo file allegato non ci sono. Se li hai messi tu dopo allora è diverso ma così gia cambia il problema visto che noi abbiamo un codice e tu lo stai modificando.
    Incolla magari il pezzo che hai aggiunto/modificato

    P.s. Condoglianze per il lutto. Io ti posso capire benissimo visto che l'anno scorso ho perso mia madre che aveva 53 anni.


  • User Attivo

    grazie per le condoglianze...
    si ho messo


    'Dimension variables
    Dim strUsername 'Holds the users username
    Dim strPassword 'Holds the new users password
    Dim strUserCode 'Holds the unique user code for the user
    Dim blnRealName

    'Initalise variables
    blnUsernameOK = True
    blnSecurityCodeOK = True
    blnEmailOK = True
    blnShowEmail = False
    blnRealnameOK = True

    If Len(strUsername) < 2 Then blnUsernameOK = False
    If Len(strRealName) < 2 Then blnRealNameOK = False

    e mi da errore sulla variabile blnRealNameOK


  • User Attivo

    Per forza...ci manca "Dim blnRealnameOK"


  • User Attivo

    ho fatto come dici tu ma provando una registrazione e non mettendo il nome reale mi fa registrare lo stesso!!
    ecco il file nuovo di register.asp sempre in rar....ma trasformato in zip!


  • Super User

    Come ti dicevo, alla fine devi vedere dove controlla se blnUsernameOK è false, devi mettere un controllo simile anche sulla nuova variabile.


  • User Attivo

    mmmmm non capisco....scusa...il controllo che dici te non lo fa quando dice If Len..... o altrove??
    se hai bisogno di qualcos'altro....dimmelo


  • Super User

    Si certo li fa il controllo e in caso mette la variabile a false. Ma poi deve controllare se la variabile è a false e in questo caso non far registrare l'utente e mandargli un messaggio. Infatti in fondo a register.asp fa proprio questo:

    
    'If the username is already gone display an error message pop-up
    If blnUsernameOK = False Then
            Response.Write("<script  language=""JavaScript"">")
            Response.Write("alert('" & strTxtUsrenameGone & "');")
            Response.Write("</script>")
    
    End If
    
    

    Anche prima fa un controllo simile su

    'If an error has occurred display what the error is, for those without JS
    If blnUsernameOK = False OR blnEmailOK = False OR blnEmailBlocked OR blnSecurityCodeOK = False OR blnConfirmPassOK = false Then
    
    

    Cerca tutte le occorrenze di blnUsernameOK e vei quello che fa ogni volta


  • User Attivo

    la prima cosa da cambiare quindi è le dim poi le initial variabili poi if LEN e a questi devo aggiungerci la stessa stringa di blnUsernameOK solo cambiandola in blnRealNameOK
    poi...devo cambiare :
    '******************************************
    '*** Update datbase ***
    '******************************************

        'If this is new reg and the username and email is OK or this is an update then register the new user or update the rs
        If (strMode = "new" AND blnUsernameOK AND blnRealNameOK AND blnEmailOK AND blnSecurityCodeOK AND blnEmailBlocked = False) OR (strMode = "update" AND blnConfirmPassOK) Then
    

    e gli ho aggiunto AND blnRealNameOK

    poi

    'If an error has occurred display what the error is, for those without JS
    If blnUsernameOK = False OR blnRealNameOK = False OR blnEmailOK = False OR blnEmailBlocked OR blnSecurityCodeOK = False OR blnConfirmPassOK = false Then

    per quanto riguarda alcuni pezzi di codice dove mi darebbe l'errore se c'è un username uguale e quindi non lo fa registrare....io eviterei...perchè magari (è difficile) può capitare uno con lo stesso nome e cognome!!
    Io ho modificato quello che ho scritto sopra....dovrebbe funzionare ora??


  • Super User

    Credo di si, prova...