• Resolved ipanca

    (@ipanca)


    Salve, ho installato moduli italiani e aggiunto i campi stato, comune e codice fiscale al mio form cf7. Fino a qui funziona tutto. In un secondo momento ho installato il plugin Conditional Fields for Contact Form 7, per gestire gli utenti esteri, nascondendo i campi del modulo se il valore non è 100 (Italia). Anche qui funziona tutto ma rimane lo stesso il controllo dei campi obbligatori dei field nascosti. La mia domanda è questa: Esiste un modo per bypassare questo controllo se nascosti i campi o devo gestire il controllo esternamente tipo con jquery? Grazie

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author Giuseppe

    (@mociofiletto)

    Salve @ipanca, non credo di aver capito la richiesta.

    Per gestire i nati all’estero, puoi utilizzare il valore inserito tramite il modulo stati come valore di controllo nel modulo cf (se, ad esempio, l’attributo name del campo paese di nascita è “stato-nascita”, inserisci tra le opzioni del form-tag cf “birthnation-field:stato-nascita”).

    Il codice di controllo, invalida il campo codice fiscale, solo se il campo del Paese di nascita è diverso da 100 (cioè, non è Italia) e se i caratteri presenti nel codice fiscale non corrispondono allo stato estero selezionato.

    Ovviamente di questa cosa tiene conto anche il controllo effettuato sul comune di nascita (controllo che non viene eseguito se i caratteri del codice fiscale destinati a codificare il comune o lo stato estero di nascita cominciano con Z):

    https://github.com/MocioF/campi-moduli-italiani/blob/ac4eb2cb1e328c020c26e7bcf4b37386ac230f7f/modules/cf/class-gcmi-cf-wpcf7-formtag.php#L372C1-L372C8

    • This reply was modified 8 months, 4 weeks ago by Giuseppe.
    Thread Starter ipanca

    (@ipanca)

    Mi scusi Giuseppe, mi sono espresso male.

    Intenevo dire: come posso passare il controllo dei campi obbligatori creati dal field ‘comune’, regione-provincia-comune, se il mio utente seleziona dal campo ‘stato’ qualsaisi altro valore diverso da Italia?

    Per il momento ho messo non obbligatorio il campo ‘comune’ e sia nel caso italiano che nel caso estero il codice fiscale sembra controllare ‘nome’, ‘cognome’, ‘data di nascita’ e ‘sesso’.

    Potrebbe andare bene anche così ma esiste un modo più semplice?

    Non so se mi sono spiegato bene…

    Grazie tante Giuseppe.

    Thread Starter ipanca

    (@ipanca)

    Controlla anche lo stato ovviamente

    Plugin Author Giuseppe

    (@mociofiletto)

    Io gestisco la cosa diversamente:

    Paese di nascita[stato* paese-nascita id:paese-nascita first_as_label use_continent "100"]

    [group group-comune-estero-nas clear_on_hide inline]<label for="comu-nascita-estero" class="required-field">Città di nascita</label>[text* comu-nascita-estero id:comu-nascita-estero placeholder "Città estera nascita"][/group]

    [group group-comune-italia-nas clear_on_hide inline]<label for="comu-nascita-italia" class="required-field">Comune di nascita</label>[comune* comu-nascita-italia id:comu-nascita-italia use_label_element wrapper_class:esterno-oriz class:interno-oriz kind:evidenza_cessati][/group]

    [cf* codice-fiscale id:codice-fiscale gender-field:sesso birthdate-field:data-nascita birthmunicipality-field:comu-nascita-italia birthnation-field:paese-nascita]

    Per quanto riguarda la logica condizionale:

    show [group-comune-italia-nas] if [paese-nascita] equals "100"
    show [group-comune-estero-nas] if [paese-nascita] not equals "100"
    and if [paese-nascita] not equals ""

    Puoi postare un link alla pagina per capire meglio il problema?

    Thread Starter ipanca

    (@ipanca)

    Grazie Roberto, provo gestire come da suo esempio poi eventualemnte le faccio sapere qualcosa. Grazie

    Thread Starter ipanca

    (@ipanca)

    Giuseppe, provo a mandarle qualche immagine perché per il momento sto lavorando in locale. Eventualemnte posso anche prevedere di caricare online la versione.

    Ho settato tutto come da suo esempio:

    step 3 del form:

    <div class="row">
    <div class="col-6 mb-2">
           <label>Data di nascita *</label>
           <div class="input-box mt-20">[date* data-di-nascita id:data-nascita class:data-nascita]</div>
        </div>
    <div class="col-6 mb-2">
           <label>Sesso *</label>
           <div class="input-box mt-20">[select* sesso id:sesso class:sesso include_blank "Uomo" "Donna"]</div>
        </div>
    <div class="col-12 mb-2">
           <label>Stato di nascita *</label>
           <div class="input-box mt-20">[stato* paese-nascita id:paese-nascita first_as_label use_continent "100"]</div>
        </div>
    <div class="col-12 mb-2">
           <div class="input-box mt-20">
    [group group-comune-estero-nas clear_on_hide inline]
    <label for="comu-nascita-estero" class="required-field">Città di nascita</label>
    [text* comu-nascita-estero id:comu-nascita-estero placeholder "Città estera nascita"]
    [/group]
    
    [group group-comune-italia-nas clear_on_hide inline]
    <label for="comu-nascita-italia" class="required-field">Comune di nascita</label>
    [comune* comu-nascita-italia id:comu-nascita-italia use_label_element wrapper_class:esterno-oriz class:interno-oriz kind:evidenza_cessati][/group]
    </div>
        </div>
        <div class="col-12 mb-2">
           <label>Codice fiscale *</label>
           <div class="input-box mt-20">[cf* codice-fiscale id:codice-fiscale surname-field:cognome name-field:nome gender-field:sesso birthdate-field:data-di-nascita birthmunicipality-field:comu-nascita-italia birthnation-field:paese-nascita]</div>
        </div>
     </div>

    Il nome e cognome sono nel 1 step

    codice logico

    show [group-comune-italia-nas] if [paese-nascita] equals "100"
    show [group-comune-estero-nas] if [paese-nascita] not equals "100"
                               and if [paese-nascita] not equals ""

    Il modulo funziona, fa tutti i controlli del caso ma quando inserisco i dati della sig.ra Rusu il form non prosegue perché dice che è obbligatorio il campo comune del gruppo nascosto

    Utente estero

    Utente estero con campi ita visibili

    Plugin Author Giuseppe

    (@mociofiletto)

    ciao @ipanca,

    io credo che il problema sia dovuto a qualcosa che interferisce con il funzionamento di conditional fields per cf7, e non è collegato a campi-moduli-italiani (senza vedere la pagina è difficile capire cosa non va).

    conditional fields dovrebbe bloccare i vari controlli di validazione sui campi nascosti; così sulla pagina del plugin:

    SUPPORT FOR REQUIRED FIELDS

    Required fields inside hidden groups will never trigger validation errors.

    Puoi provare a disabilitare eventuali altri moduli che agiscono sul form oltre a cf7, conditional fields e campi-moduli-italiani?

    Thread Starter ipanca

    (@ipanca)

    Buongiorno Giuseppe, ha ragione. Esattamente è il plugin degli step.

    Provo a fare qualche test.

    Grazie,

    M.

    Thread Starter ipanca

    (@ipanca)

    Risolto Giuseppe, grazie per il supporto! Ottimo lavoro.

    M.

    Plugin Author Giuseppe

    (@mociofiletto)

    Bene così. Se individui una soluzione per far funzionare il tutto anche con il plugin che gestisce il form per step, e vuoi postarla, può tornare utile anche ad altri utenti.

    Saluti.

    Thread Starter ipanca

    (@ipanca)

    Certo, lo faccio volentieri.

    Per gestire il form a step utilizzo -> https://ninjateam.org/contact-form-7-multi-step/ versione PRO

    Funziona benissimo con Campi Moduli italiani e Conditional Fields for Contact Form 7.

    L’errore descritto sopra si è risolto subito facendo i primi test. Semplicemente ho installato la versione più aggiornata del plugin multi step 🙂

    Grazie a tutti e soprattutto a Giuseppe.

    Un saluto,
    Matteo

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Codice fiscale per nati all’estero’ is closed to new replies.