Joomla.it Forum
Componenti per Joomla! => Gestione Form => : italianman155 31 Dec 2014, 12:33:53
-
Buongiorno a tutti,
mi occorre sapere come impostare un codice del Chronoforms in modo che un campo sia soggetto a "required" e inoltre accetti esclusivamente una parola come "CANE" di massimo, quindi, 4 lettere alfabetiche, per poter andare avanti
Grazie
-
Ciao, editando il campo in questione, nel tab "General" metti 4 in "Max Length" e se vuoi SOLO lettere nel tab "Validation" selezioni "Alpha" . Sempre in Validation selezioni "Yes" in Required per rendere il campo obbligatorio.
-
Ciao italpascal,
grazieperlapronta risposta ma a me serve anche che si accetti solamente la parola "CANE"per proseguire.Mi era stato suggerito il pattern !=="CANE" ma non funziona con IE6 e successivi
Hai la soluzione? Grazie
-
Il controllo sarebbe possibile con Javascript ma avrebbe il limite di mostrare il campo che credo riservato a fruitori non autorizzati.
Quindi la verifica lato server mi sembra la più sicura. Per questo occorre agire così:
Con chronoforms v5
il campo required si imposta nella costruzione dei campi del form.
Inserire un action Event Switcher in On Submit
configurazione Event Switcher
in event si può lasciare success,fail
in code può essere inserito un codice php tipo questo
<?php
if ($form->data['nome_campo_da_verificare']<>"CANE") {
$form->errors[] = "Il codice inserito non corrisponde a quello autorizzato o qualcosa di simile";
return "fail";
}
?>
in success non occorre inserire nulla
in fail va inserita un action Event Loop.
configurare Event Loop inserendo in Event name la parola load.
Il tutto funziona così. Dopo l'invio del form Event Switcher controlla che nel campo di controllo sia inserita la parola CANE. Se c'è tutto prosegue normalmente. Se non c'è si attiva quanto abbiamo predisposto in fail ed il form viene mostrato di nuovo con all'inizio il messaggio di errore predisposto assegnato a $form->errors.
Con Chronoforms v3 per Joomla 1.5.26
il metodo era simile
in configurazione del form Validation
abilitare Server Side Validation
in code Server Side Validation inserire
<?php
if (JRequest::getVar('nome_campo_da_verificare','','post')<>"CANE") {
return "Il codice inserito non corrisponde a quello autorizzato o qualcosa di simile";
}
?>
-
Premetto che sto utilizzando Chrnoforms V4.0.
NelWizard ho i seguenti campi:
Preview:
Convenzione quale text box
Codice verifica quale Captcha Input
Events:
On Load:
Show HTML
Load Captcha
On Submit:
Check Captcha con EventLoop in OnFail
Email
RedirectUser
DB Save
Custom Event Switcher (in cui ho inserito l'espressione php nel Codice:
<?php
if ($form->data['Convenzione']<>"CANE") {
$form->errors[] = "Il codice inserito non corrisponde a quello autorizzato";
return "fail";
}
?>
e con OnFail EventLoop
Ho seguito le istruzioni com da Chronoforms 5.0 ma non funziona!
Carneade please...SONO UNA FRANA!
-
Load Captcha va messo prima di Show HTML.
Il controllo degli errori credo sia diverso in Chornoforms v4, ora controllo.
-
In Chronoforms v4 dovrebbe funzionare con l'uso di questo diverso array dell'errore
<?php
if ($form->data['Convenzione']<>"CANE") {
$form->validation_errors[] = "Il codice inserito non corrisponde a quello autorizzato";
return "fail";
}
?>
-
Ho seguito le istruzioni ma ancora non funziona testando il form.......
-
Non funziona è poco, cosa fa di preciso?
Metti un'action Debugger in On Submit per vedere cosa arriva nel punto dove la posizioni
-
Ciao
ho inserito il debugger, ed ora si blocca il form come dovrebbe ma anche se inserisco la parola giusta
Non mi fornisce altre indicazioni
Vuoi che ti fornisca sito, utenza e pass in privato?
Grazie mille ecome puoi attend risposta
-
La mail pero' parte ed arriva.....
-
Event switcher deve essere prima di tutto in On submit
-
In caso di validazione su più campi il codice sarebbe questo
<?php
if ($form->data['convenzione']<>"CONI" AND $form->data['convenzione']<>"pinco" AND $form->data['convenzione']<>"pallino") {
$form->validation_errors[] = "Il codice inserito non corrisponde a quello autorizzato";
return "fail";
}
?>