Newsgroup: it.comp.lang.javascript
Titolo: validare un form

Debbo validare un form, uso javascript per validare 3 campi:
// VERIFICA NOME,AZIENDA,CITTA,PROVINCIA
function isName(what,fname)
{
   var i=new RegExp("([a-z]{3,})");
   if(!i.test(what)) { alert("Il campo "+fname+" non è valido."); return
false}
   return true;
}
Se metto nel campo "nome" "123nome" (che è sbagliato) me lo accetta e non mi
da errori, se metto "nome123" invece non me lo accetta. Perchè?
Grazie 1000
Andrea

 cerchero` un'altra donna dentro ai sogni di Tarzan

 <input type="text" name="foo" onChange="sololettere(this);">


 }
Ok, questo pezzo, dove lo metto? nel js? come lo implento poi nella pagina
html?
Scusa se sono un po' duro, ma sono un po' agli inizi....
Grazie 1000
Andrea

 </html>
Non va: ho fatto un copia e incolla, ma quando clicco su "invia query",
anche se metto nei campi dei numeri, non compare nessun messagio.
Grazie ancora
Andrea

>     <input type="submit">
<input type="button" value="Invia" onclick="controllo()">
Questo sistema ha il vantaggio(?) di non farti fare teoricamente il submit
se non hai JavaScript abilitato (anche se alcuni browser basta dare
Invio), quindi garantendo che un minimo di controllo sia stato fatto.
A risentirci
\  Davide G. Borin
\\ !!Scudo anti-spam attivo!! Togliere le x e "eliminami" dall'indirizzo
\\\_____________________________________________________________________

 </html>
Ok, funziona!!!! Mi puoi mostrare come si fa per avere un campo che accetta
solo numeri, ed uno che accetta un numero di sole 5 cifre?
Grazie infinite
Andrea

 }
azz, l'avevo fatto, ma avevo dimenticato di cambiare il codice dell'if...
GRazie!!

 --
ho provato cosě:
function lungo(stringa) {
    return stringa.toString().match(/[^0-9]{5}/i);
}
ma non va, dove sbaglio
Grazie ancora
Andrea

 (questo l'ho provato, e funziona):
Pero' non hai provato a lasciare i campi vuoti. Io, per capire non l'ho
capito, ma credo di averlo aggiustato :-D
[...]
function controllo() {
    if ( nonlettere(document.foo.nome.value  
    || document.foo.nome.value==""))   {
     alert('Ma come ti ha chiamato tua madre?');
[...]
if ( nonlettere(document.foo.cognome.value  
    || document.foo.cognome.value==""))  {
     alert("Ma all'anagrafe ti hanno accettato il cognome?");
;-)
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

      alert("Ma all'anagrafe ti hanno accettato il cognome?");
Non ho provato, ma non credo che in quetso modo risonosca se hai messo
lettere o numeri, ti controlla solo se il campo è vuoto
Ciao
Andrea


Non penso che la mia evoluzione mentale mi consenta di raggiungere uno stato
cosě alto....non č che mi puoi illuminare ancor una volta
Grazie 1000
Andrea

 Si, ma lo risolvo con asp
Acc... mi pareva d'aver fatto un capolavoro e ne andavo orgoglioso. Va
be', sara' per la prossima... 
... porca miseria sto facendo tardi al lavoro. SCAPPO! Ebbene si', non
sono un metronotte ma poco ci manca ;-)
Alla prossima :)


Ce l'ho fatta!!! Ho fatto tutto, mi rimane solo una cosa, ma non penso di
farcela da solo se non mi aiuti ancora un po': debbo convalidare un capo
e-mail. Non ho la minima idea di come fare....
Grazie
Andrea

 }
Ciao, ho usato questa variante, ho messo nella pagina
if ( isemail(document.foo.email.value) ) {
        alert("mail sbagliata");
        document.foo.email.focus();
        return false;
   }
ma non funziona: anche se metto un indirizzo e-mail non valido,non compare
nessun messaggio di errore....
Grazie ancora
Andrea

 Come diceva giustamente Riccardo, qui non si servono script a la >charte.
Queste cose non le faccio per lavoro, le faccio solo per diletto. è la prima
volta che mi cimento,quindi sono ancora agli inizi, grazie a te ne ho capito
molto, e sono conscio del fatto che ho molto da imparare ancora. Studierò
Non so proprio come ringraziarti ;-)
Andrea

 comunque contemplato poi un controllo serverside dei dati ricevuti.
Ovviamente, dato che qualsiasi JavaScript di controllo puo` essere
bypassato facendo un GET (anche un POST, pur con maggiore difficolta`)
diretto.
Il vantaggio sta nel fatto che se uno si "dimentica" JavaScript
disabilitato non riesce (forse) a fare il submit con il bottone.
L'unico caso nel quale il controllo JS puo` essere sufficiente e` nelle
pagine di gestione o in qualche Intranet, dove imbrogliare il CGI non ha
nessun senso! 8-)
