- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Campi obbligatori "Validator controls"
-
@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>
-
I validator controls sono del framework .net
Tu parli di asp quindi bisogna capire innanzitutto se intendi asp.net o asp classic
-
asp classic
-
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
-
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
grazieP.S il file anche se è nominato .zip è un file rar...l'ho cambianto di estensione perchè altrimenti non me lo faceva allegare...
-
'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.
-
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à"
-
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.
-
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!
-
Strano, se l'hai messa all'inizio e inizializzata a true dovrebbe andare bene. Sicuro di non aver sbagliato nome?
-
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/modificatoP.s. Condoglianze per il lutto. Io ti posso capire benissimo visto che l'anno scorso ho perso mia madre che aveva 53 anni.
-
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 = TrueIf Len(strUsername) < 2 Then blnUsernameOK = False
If Len(strRealName) < 2 Then blnRealNameOK = Falsee mi da errore sulla variabile blnRealNameOK
-
Per forza...ci manca "Dim blnRealnameOK"
-
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!
-
Come ti dicevo, alla fine devi vedere dove controlla se blnUsernameOK è false, devi mettere un controllo simile anche sulla nuova variabile.
-
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
-
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
-
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 Thenper 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??
-
Credo di si, prova...
-
si funziona....ora devo crearmi un strtxtcampiobbligerror da visualizzare come messaggio di errore!!
Dove vado a prendere la stringa che visualizza il messaggio di errore ad esempio dell'username già esistente??