Joomla.it Forum
Componenti per Joomla! => Gestione Form => : Conanbarbaro 19 Feb 2010, 12:54:25
-
Buongiorno,
Premetto che prima di postare, mi sono letto tutte le guide e il tutor del componente, ma non ho trovato l'aiuto che mi serve.
La mia domanda (in verità sono due) in riferimento al titolo è la seguente:
A) nel mio Form, è obbligatorio compilare alcuni campi tra i quali quello del numero di telefono (o cellulare). C'è un modo per impostare il campo obbligando l'utente a inserire il numero di cifre esatto, evitando così che si possa inserire magari una cifra sola (o per intenderci un numero incompleto) giusto per permettere la continuazione della compilazione senza rimanere bloccati dal sistema?
B) Il campo "Captcha" serve per la verifica Anti Spam e lo sappiamo.
Purtroppo facendo il test di prova, mi sono accorto che anche inserisco caratteri diversi da quelli presentati, non esce l'errore ma si può continuare tranquillamente cliccando sul tasto "Invia i dati".
Secondo quanto scritto in questa guida http://www.joomla.it/articoli-della-community/924-creare-forms-con-chronoform.html (http://www.joomla.it/articoli-della-community/924-creare-forms-con-chronoform.html) dovrei trovare nella sezione AntiSpam del pannello di controllo del ChronoForm, l'opzione "Republish fields if wrong submission" e a fianco il relativo menu a tendina con la voce "Try to Republish" da selezionare. Purtroppo quest'opzione non c'è...come posso rimediare?
Scusate il post biblico ma era necessario.
Grazie in anticipo per le eventuali risposte in merito.
;)
-
a) vi sono numeri dei cellulari anche con 9 cifre e non solo di 10 cifre.
b) non confermo quel comportamento. Quando il codice non è giusto il form non parte e propone l'errore ed il nuovo form vuoto.
-
a) vi sono numeri dei cellulari anche con 9 cifre e non solo di 10 cifre.
Vero...quindi questo significa che non puoi inserire un'obbligazione di nessun tipo? Cioè, dato che comunque i numeri sono almeno 9 (da quando è stato eliminato lo zero iniziale dei prefissi) non c'è modo di dare al modulo un comando tipo "non accettare numeri inferiori alle 9 cifre"....? ::)
b) non confermo quel comportamento. Quando il codice non è giusto il form non parte e propone l'errore ed il nuovo form vuoto.
Qui resto basito anch'io. Prima di aprire il topic, ti garantisco che ho fatto le prove e i dati venivano inviati.
Dopo aver letto il tuo intervento qui, ho riprovato, et....voilà! Magia...se non indichi effettivamente il codice in maniera corretta, ti ritorna la pagina del modulo che ti avverte dell'errore.
Boh... :-\
-
Il captcha lo abbiamo impaurito solo a parlarne!! >:(
Per le cifre del telefono forse si potrebbe pensare a stabilire le cifre massime consentite nel campo e/o a un javascript che controlla l'inserimento con la funzione onchange, conta le cifre e da un messaggio se non corrispondono a quelle che vuoi <9 o 10>.
-
Il captcha lo abbiamo impaurito solo a parlarne!! >:(
Per le cifre del telefono forse si potrebbe pensare a stabilire le cifre massime consentite nel campo e/o a un javascript che controlla l'inserimento con la funzione onchange, conta le cifre e da un messaggio se non corrispondono a quelle che vuoi <9 o 10>.
ROTFL! ;D ;D ;D
Aspè, per il javascript manco a parlarne (per quanto riguarda le mie nozioni ovviamente) poi il problema non è impostare il massimo consentito, ma che non possa scendere sotto il minimo...cioè il comando dovrebbe poter essere una cosa tipo "consenti solo inserimento di 9 o 10 cifre...è questo il javascript che intendi? :o
-
Quello intendo.
-
Quello intendo.
Ah...cioè ma dovrei inserire questo comando:
<9 o 10> scritto così? E dove esattamente?
-
No, no, quello non è un comando era per dire minori di 9 e maggiori di 10 caratteri. Ma l'ho anche scritto male. Doveva essere cosi <9 10<.
-
No, no, quello non è un comando era per dire minori di 9 e maggiori di 10 caratteri. Ma l'ho anche scritto male. Doveva essere cosi <9 10<.
Scritto male o no...o sono io che lo scrivo nel posto sbagliato, o comunque non funziona...io ho provato a modificare in tutti i modi nelle proprietà, i campi Size e Max Size...ho provato a flaggare anche tutti i box che ci sono nelle proprietà anche uno per uno andando a esclusione...niente da fare...ma possibile che non ci sia un modo...? >:(
-
Per fare quel tipo di controllo si possono fare questi settaggi. Il presupposto in questo esempio è che nel form ci sia un campo nominato cellulare che accetta solo digits
in tab Validation del form attivare a yes Enable Server Side Validation poi in Server Side validation Code: inserire questo codice che compie le seguenti azioni trasforma il campo cellulare da numero a stringa, misura la lunghezza della stringa e poi esegue in confronto. Se l'esito e vero ritorna il messaggio ed il form non viene accettato.
<?php
if((strlen(strval($_POST['cellulare']))<9) or (strlen(strval($_POST['cellulare']))>10))
return 'Campo Cellulare inserire almeno 9 non più di 10 cifre';
?>
Questo esempio vale anche come metodo per altri controlli più spinti sui dati inseriti.
-
Buongiorno Vales,
quando scrivi se nel form ci dev'essere un campo nominato "cellulare", intendi un campo specifico del form per i cellulari oppure? Perchè in questo casoun campo apposito per i cellulari non c'è.
Comunque, andando nel campo "cellulare" che ho creato io utilizzando fra le opzioni disponibili la "TextArea" (anche con altre opzioni non cambia comunque nulla), aprendo le proprietà del campo, nella sezione "Validation" c'è anche il box da flaggare denominato "Digits Only". Così come c'è anche "Required" (è quello che obbliga l'utente a compilarlo) e poi la scelta di far inserire solo nueri, solo lettere o entrambi, o il formato data o email o URL.
La tua stringa qui sopra che hai postato, dove andrebbe eventualmente inserita?
Tieni conto che gli unici campi dove si possa editare sono Label, Small Label, Size, Max Size e Tooltip.
Grazie ancora.
-
Grazie Vales, funziona tutto alla perfezione.
In pratica, non avevo realizzato che, dopo aver salvato il form flaggando il box "Digit Only" dovevo uscire e aprire la maschera generale del form dove appunto ho trovato tra gli altri, il famoso tab "Validation" e così ho potuto seguire le tue istruzioni.
Risolto anche questo problema! :D
-
Ahimè ho parlato troppo presto.
Ho dovuto togliere la scritta RISOLTO perchè ho fatto un'ulteriore verifica e purtroppo risulta che qualcosa probabilmente nel codice inserito non funziona.
Infatti che si inseriscano 2, 6, 9, o 10 cifre, il sistema si blocca e non invia i dati, ma restituisce sempre il messaggio di errore contenuto nel codice stesso postato qui sopra da Vales.
Ho provato a modificarlo in qualche modo ma il risultato non cambia.
Che posso fare? :o
-
Ho ricontrollato il mio form di prova e tutto funziona regolarmente c'è qualche settaggio da sistemare meglio forse.
-
Ho ricontrollato il mio form di prova e tutto funziona regolarmente c'è qualche settaggio da sistemare meglio forse.
Se può aiutare (anche se non credo che Vales ne abbia bisogno) in Validation Tab, nella sezione "Example code", c'è scritto:
<?php
if($_POST['accept_terms'] != 'yes')
return 'Sorry, but you need to accept our terms to proceed';
?>
Ora, ovviamente la stringa postata da Vales è stata opportunamente modificata per l'utilizzo che serve al mio form, ma potrebbe essere che, mettendole a confronto, manchi qualcosa?
Ho provato a flaggare nelle proprietà del campo, i 3 seguenti box: Required, Numbers Only e Digits Only. Niente da fare.
Ho tentato flaggando solo Required e Digits Only, niente da fare.
Io ho provato anche a modificare in tutti i modi la stringa di Vales senza successo. A volte veniva restituito normalmente il messaggio di errore racchiuso nella stringa, oppure un messaggio di errore di javascript direttamente da chronoform...
Girando per Google e simili, di questi aiuti nemmeno a parlarne.
Vales se vuoi provare il mio form è qui
http://www.cipiemme.altervista.org/index.php/collaboratore (http://www.cipiemme.altervista.org/index.php/collaboratore)
così magari verifichi di persona....
-
Ho controllato e non va. Ricontrolla il codice che hai inserito ci sono tante parentesi e apicini da rispettare. Puoi postarlo ?
-
Ho controllato e non va. Ricontrolla il codice che hai inserito ci sono tante parentesi e apicini da rispettare. Puoi postarlo ?
Beh non ho fatto altro che selezionare e copiare e poi incollare quello postato da te nello stesso modo senza toccare nulla.
Comunque eccolo qui:
<?php
if((strlen(strval($_POST['cellulare']))<9) or (strlen(strval($_POST['cellulare']))>10))
return 'Campo Cellulare inserire almeno 9 non più di 10 cifre';
?>
-
Il codice è quello.
Prova ad attivare il debug nella tab General del form e vediamo cosa risponde.
-
Il codice è quello.
Prova ad attivare il debug nella tab General del form e vediamo cosa risponde.
Debug attivato. Niente da fare.
Nelle proprietà, cosa dev'essere flaggato?
Required, Digits Only e anche numbers only o non è determinante?
-
Il codice è quello.
Prova ad attivare il debug nella tab General del form e vediamo cosa risponde.
Uhmmm...un'altra cosa...sempre nel Tab General, abilitare i mambots? Può servire? ???
-
No quelli sono i mambot di joomla da abilitare eventualmente nelle visualizzazioni del form.
Io ho flaggato Required e Digits.
Prova a cancellare il codice ripulendo tutto il campo, salvi il form, lo riapri e inserisci il codice a mano e risalvi.
A volte i copia incolla si portano dietro delle cose strane.
[allegato vecchio più di un anno eliminato automaticamente]
-
Boooohhhhh......
Non chiedermi niente...ho cancellato tutto il codice, ho salvato e chiuso il form management senza riscrivere nulla (quindi il server validation ora è vuoto come prima)...poi sono andato nelle proprietà e ho cambiato i settaggi mettendo 10 in Size e Max Size come hai fatto tu.
Ho provato e inviando i dati mi è apparsa una pagina con tutto il riepilogo sotto forma di debug.
Ho di nuovo disabilitato il debug in Tab General, salvo e riavvio...provo a ricompilare il form...et...voilà! ;D
Mi compare una pagina bianca...probabilmente perchè non ho inserito la pagina di ringraziamento tipo "grazie per aver compilato bla bla bla..." (se vuoi provare anche tu, hai fatto 30 facciamo 31 così ci leviamo ogni dubbio) :D
Manca solo quella ora...ho già un articolo creato ad hoc per l'occasione, che uso in un altro form...devo andare in quell'articolo, copiare il link (correggimi se sbaglio) e incollarlo...sempre nel Tab General? ::)
-
Si, il link lo inserisci in Redirect URL.
Scusa ma non ho capito se hai reinserito il codice di controllo del campo cellulare.
A volte quando le cose non funzionano e siamo convinti che tutto è settato ok, conviene provare a riscrivere un nuovo form.
E' già capitato altre volte che tutto va a posto in questo modo.
-
No, ho rimesso tutto com'era prima del tuo intervento.
In pratica, ora in Validation Tab, Server Side validation è disabilitato (NO) e nel campo Server Side Validation Code non c'è nulla.
Però non riesco a mettere l'URL della pagina di ringraziamento nel redirect...in realtà ho visto anche che il form ti propone di creare una pagina di ringraziamento, ma poi non la fa visualizzare...qual'è la strada più indolore?
-
E non ci possiamo arrendere la cosa deve funzionare come a me.
Non ho capito questa.
non riesco a mettere l'URL della pagina di ringraziamento nel redir
ect
cosa accade?
E questa
che il form ti propone di creare una pagina di ringraziamento, ma poi non la fa visualizzare
Dove ti propone la pagina di ringraziamento ?
-
Per la seconda forse ho capito ti riferisci al codice che può essere inserito in uno dei due campi on submit email.
Una via sicuramente è quella. L'altra è il redirect URL
-
non riesco a mettere l'URL della pagina di ringraziamento nel redir
Ho creato l'articolo con i ringraziamenti e bla bla, ma non riesco a mettere l'url di quell'articolo (non so dove andarlo a prendere insomma) nello spazio apposito che c'è in Tab General.
Dove ti propone la pagina di ringraziamento ?
Quando sei in Forms Managements, hai al centro i tuoi forms e sulla sinistra una colonna che si chiama Plugins.
Inizia con Authorize,net ecc e a un certo punto c'è anche Confirmation Page prima di Email verification...selezioni il form interessato e clicchi su Confirmation Page ti si apre una pagina simile a quella degli articoli con l'editor Tiny da creare e salvare.
Io pensavo che facendo così, ti rimandasse poi in automatico a una pagina di ringraziamento invece evidentemente c'è anche lì qualcosa che non va o che manca...
Riproviamo però dopo cena se ci sei...ok? Ora mi chiamano...devo interrompere per forza...anche perchè mi sta fondendo il cervello...grazie :-\
-
Quella del plugin Confirmation Page non è la pagina di ringraziamento ma quella di verifica del form prima dell'invio definitivo, una specie di ricontrollo delle cose inserite. Per attivarla devi andare dentro il form nella tab plugin spuntare la riga con lo stesso nome che diventa verde, salvare il form. Spuntare il nome nella casella a sinistra e poi cliccare su Confirmation Page per settare la visualizzazione.
Un post sopra ti ho indicato anche una via alternativa.
Per ricavare l'url del tuo articolo, lo visualizzi normalmente in frontend, e poi copi l'indirizzo dalla barra degli indirizzi del browser e lo inserisci in redirect, anche senza la prima parte si riferisce alla home del sito.
-
Per attivarla devi andare dentro il form nella tab plugin spuntare la riga con lo stesso nome che diventa verde, salvare il form.
Ehm...era già attivato...e non funziona ugualmente. Fa lo stesso.
L'URL dell'articolo, deve avere l'index davanti (/index.php?option=com_content§ionid=-1&task=edit&cid[]=28 ad esempio così?) oppure no?
-
Si, va bene come hai fatto.
-
Si, va bene come hai fatto.
No perchè mi rimanda la pagina errore 404.
Inoltre ho cambiato la mail di destinazione (inserendo la mia per prova) e ho compilato un form.
Mi sono accorto che anche qui ci sono delle incongruenze...ad esempio:
nel campo Cellulare, io vedo scritto {text_9} e non il numero inserito in fase di compilazione.
Al posto del campo Carica il tuo Curriculum io leggo invece Inserisci la tua foto :o
Il resto è tutto corretto.
Come mai? Cosa devo cambiare ancora?
-
Hai creato il form copiandolo da un altro?
-
Hai creato il form copiandolo da un altro?
No l'avevo creato ex novo.
Forse per il campo Foto/Curriculum posso intuire...ieri mi hanno fatto cambiare quel campo che in origine era appunto denominato "Inserisci la tua foto" con Carica qui il tuo Curriculum...io ho semplicemente cambiato il nome del campo...ora provo a cancellarlo e ricrearlo chiamandolo nel modo corretto...resta sempre il dubbio del text_9 dove invece dovrei visualizzare il numero di cellulare inserito, e l'errore 403 (scusa ho sbagliato prima non è 404) che mi rimanda la pagina invece dell'articolo di ringraziamento che ho creato e del quale ti ho postato il link qui sopra.
-
Prova a mettere la url intera con il nome del sito.
Per il campo text9 controlla che non sia rimasto nel tab del wizard del campo cellulare questo spiegherebbe l'anomalia della convalida.
Ora sospendo io per una mezzoretta.
-
Per il campo text9 controlla che non sia rimasto nel tab del wizard del campo cellulare questo spiegherebbe l'anomalia della convalida.
Tu dici nell'ultimo campo che si chiama Field Name?
Lì c'è scritto Cellulare, come nel campo Label...possibile che ad esempio, anche se la Label è Cellulare con la C maiuscola, nel Field Name debba essere scritto con la c minuscola?
Non so...chiedo eh?
-
La label è quella per indicare il campo nella visualizzazione del form. il nome del campo è invece quello che raccoglie il valore inserito e viene utilizzato nelle elaborazione successive, meglio lasciare la minuscola li.
-
La label è quella per indicare il campo nella visualizzazione del form. il nome del campo è invece quello che raccoglie il valore inserito e viene utilizzato nelle elaborazione successive, meglio lasciare la minuscola li.
Ok sto provando intanto per vedere se sono riuscito ad accomodare il discorso "campi di risposta" quando ricevi la mail.
Forse si dovevano modificare i dati dal TAB Email Templates (scusa se ho editato, sono cotto non ne azzecco più una stasera). Io l'avevo compilato, ma ho letto che se lasci l'editor in bianco, il sistema dovrebbe generare una email in automatico riportando esattamente i campi così come sono impostati nel form.
Adesso provo e ti dico.
Riguardo il discorso nome in minuscolo...probabilmente con questa prova dovrei poter verificare anche questo.
A tra poco...(mizzica sembro la Marcuzzi...) ;D
-
Per la minuscola maiuscola ho provato io ho inserito Cellulare con la maiuscola nel Field test con edit wizard e ora ottengo l'errore nella validazione del campo anch'io.
Il problema era quella maledetta maiuscola, perchè nel codice io avevo messo la minuscola.
-
Mannaggia la zozza...(tanto ora si fa chiamare "password" quindi non c'è pericolo di offenderlo ;D ;D ) ma perchè continua a rimandarmi questa pagina maledetta?
403 - Non sei autorizzato a visualizzare questa risorsa.
Non è possibile visualizzare questa pagina a causa di:
1. un bookmark/preferiti scaduto
2. una ricerca attraverso il motore di ricerca che ha una lista scaduta per questo sito
3. un indirizzo compilato male
4. Non hai accesso a questa pagina
5. La risorsa richiesta non esiste
6. Si è verificato un errore durante l'esecuzione della tua richiesta.
Eppure il link dell'articolo l'ho inserito 4 mila volte, anche scrivendolo a mano...uffff.....
Provo ancora a cancellare l'articolo e a rifarlo da ex novo...che p*****.... >:(
-
Per la minuscola maiuscola ho provato io ho inserito Cellulare con la maiuscola nel Field test con edit wizard e ora ottengo l'errore nella validazione del campo anch'io.
Il problema era quella maledetta maiuscola, perchè nel codice io avevo messo la minuscola.
Urrà! Funziona!!!! Ho lasciato il tab email Templates in bianco e in effetti ora la mail che arriva riporta tutti i dati completi del form, numero di cellulare compreso!
Rimane solo da risolvere la questione pagina errore 403 e poi direi che possiamo (finalmente) chiudere!
-
La pagina dell'articolo deve essere publbicata e raggiungibile.Per non sbagliarti legala ad una voce di menù per visualizzarla, poi la toglierai altrimenti da dove lo recuperi il link ?
-
Mi è sorto il dubbio che il link all'articolo tu non lo abbia preso nella visualizzazione del frontend ma dall'edit dell'articolo in backend.
-
Mi è sorto il dubbio che il link all'articolo tu non lo abbia preso nella visualizzazione del frontend ma dall'edit dell'articolo in backend.
Infatti ;D ;D ;D ;D
Me ne sono accorto anch'io adesso....vado a creare la voce di menu e poi la tolgo...e si che proprio l'altro ieri (ssshhhhhh....lo scrivo sottovoce altrimenti tonicopi mi accoppa) l'ho pure letto in un altro topic aperto da un altro utente ::) :P
-
RISOLTO!!!!!!!!!
Alleluja! Non mi sembra vero....
Resterà magari il dubbio della questione del codice del campo cellulare che avevi postato all'inizio di tutta la tarantella e che a quanto pare non ha funzionato...o meglio alla fine ha funzionato tutto ugualmente anche senza inserire quel codice...
Ti dirò...per la giornatina che abbiamo passato, penso che stanotte dormirò ugualmente, dubbio o non dubbio.
Grazie ancora! ;D
-
Il codice non funzionava a causa della maiuscola.
Prova mettere il nome cellulare tutto minuscolo e reinserire il codice vedrai che funzionerà.