Joomla.it Forum

Componenti per Joomla! => Gestione Form => : billa18 02 Feb 2011, 09:50:29

: Campi "obbligati" di Chronoforms ?
: billa18 02 Feb 2011, 09:50:29
Ciao a tutti
volevo sapere se un campo del modulo di Chronoform puo' essere "condizionato" ad un certo numero di caratteri.
Mi spiego meglio : ho la necessita' che un campo sia ALMENO di 8 caratteri (di piu' si, ma di meno no) : come posso fare a mettere questo "paletto" nel campo in modo che se l'utente ne inserisce meno esca un messaggio d'errore?
Grazie mille
: Re:Campi "obbligati" di Chronoforms ?
: giormagno 02 Feb 2011, 16:18:28
dovresti inserire un codice di validazione lato server.. però nn so il codice!
: Re:Campi "obbligati" di Chronoforms ?
: vales 02 Feb 2011, 21:43:47
Il seguente codice va inserito nel capo Server Site validation Code della finestra Validation del form.

:
<?php
if (strlen(JRequest::getVar('nome_campo','','post')< {
return 
"Il campo 'nome_campo' deve avere almeno 8 caratteri";
}
?>

Inserita modifica il 04.02.2011
: Re:Campi "obbligati" di Chronoforms ?
: giormagno 03 Feb 2011, 10:26:46
serviva anche a me.. grande!
: Re:Campi "obbligati" di Chronoforms ?
: billa18 03 Feb 2011, 18:25:59
Grazie....ho inserito il codice che mi hai dato ma non mi funziona ancora....
Ho abilitato il db, ho trascritto il nome del campo, ma non mi funziona...ho provato a compilare il modulo mettendo meno di 8 caratteri ed è andato tutto liscio...
Nella pagina validation, in basso, c'è scritto un esempio di codice che pero' è leggermente diverso dal tuo...è lo stesso?
: Re:Campi "obbligati" di Chronoforms ?
: vales 04 Feb 2011, 09:48:23
Non ho capito tutto quello che hai detto.

Comunque ho inserito una modifica nel codice.

L'esempio è un esempio poi in realtà si gestiscono tante situazioni, ma il metodo è quello.
: Re:Campi "obbligati" di Chronoforms ?
: billa18 04 Feb 2011, 10:14:03
Intendevo che ho fatto la prova sia col tuo codice, che con quello d'esempio di Chronoform, e, pur avendo messo meno di 8 caratteri nel campo, non ho ricevuto alcuna segnalazione d'errore ed il modulo è partito normalmente...
Al momento ho scritto questo codice :
<?php
if($_POST['text_11'] !<> '8')
return 'Il campo password deve essere di 8 caratteri';
?>

E poi ho provato il tuo (come era prima), ma anche col tuo nulla da fare.
Ora riprovo con il nuovo che hai modificato....
Ma non è che devo fare qualcos'altro oltre ad inserire il codice?
: Re:Campi "obbligati" di Chronoforms ?
: billa18 04 Feb 2011, 10:20:03
Sul componente l'esempio riportato è questo :

<?php
if($_POST['accept_terms'] != 'yes')
return 'Sorry, but you need to accept our terms to proceed';
?>

e mi sono limitata a sostituire il nome del campo, e cambiare ='yes' con <>'8'
In cosa ho sbagliato?
(ho deciso di rendere il campo obbligatoriamente di 8 caratteri)
: Re:Campi "obbligati" di Chronoforms ?
: vamba 04 Feb 2011, 10:35:00
In cosa ho sbagliato?
Che la forma non è ottimale in quanto in quel modo accetti tutte le parole maggiori o minori o diverse da 8 (non credo di aver mai visto una condizione del genere .)
La variabile
:
$_POST['text_11']attende un testo ... e condizionandola con
!<> '8'
  (condizione un po' strana)
non si riceve un bel che se non qualcosa diverso da 8 :)


Per ottenere ciò che intendi e creare una condizione che conti i caratteri devi prima di tutto utilizzare una funzione che conti i caratteri.
http://php.net/manual/en/function.strlen.php
: Re:Campi "obbligati" di Chronoforms ?
: vales 04 Feb 2011, 10:42:47
@billa18,

Il seguente codice va inserito nel capo Server Site validation Code della finestra Validation del form.

:
<?php
if (strlen(JRequest::getVar('nome_campo','','post')< 8{
return 
"Il campo 'nome_campo' deve avere almeno 8 caratteri";
}
?>

Inserita modifica il 04.02.2011

ma il nome del tuo campo nel codice che avevo suggerito lo hai messo ?
: Re:Campi "obbligati" di Chronoforms ?
: billa18 04 Feb 2011, 10:48:50
Certo Vales... text_11 è il nome del campo...ovviamente l'avevo inserito.
Ma credo abbia ragione R.I.P. : essendo un campo di testo probabilmente l'8 del codice diventa un carattere, e non una lunghezza di campo... Sto capendo che è molto piu' complesso di quanto pensassi....
: Re:Campi "obbligati" di Chronoforms ?
: billa18 04 Feb 2011, 10:54:35
Ho notato che nelle proprietà del campo, nel wizard, c'è anche una casella "validation" : a cosa serve? Come si utilizza?