<html lang="it-it" dir="ltr"><head></head><body>### [Implementazione della convalida personalizzata della password in WPForms](https://wpforms.com/developers/implementing-custom-password-validation-in-wpforms/)

**Pubblicato:** 7 ottobre 2024
**Autore:** Umair Majeed

**Contenuto:**

Vorresti imporre una rigorosa policy per le password nel tuo WPForms che richieda una combinazione di lettere maiuscole, lettere minuscole, numeri e simboli? Sebbene l'opzione Password sicura integrata di WPForms non implementi rigorosamente questi requisiti, puoi ottenerlo utilizzando uno snippet di codice personalizzato.

In questo tutorial, ti mostreremo come aggiungere la convalida personalizzata della password ai tuoi WPForms.

## Aggiunta dello snippet di codice

Per implementare la convalida personalizzata della password, dovrai aggiungere uno snippet di codice personalizzato al tuo sito. Se hai bisogno di aiuto per aggiungere codice personalizzato, consulta il nostro tutorial su [come aggiungere snippet di codice](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/).

Aggiungi il seguente snippet di codice al tuo sito:

```

/**
 * Implementa la convalida personalizzata della password.
 *
 * @link https://wpforms.com/developers/implementing-custom-password-validation-in-wpforms
 *
 */
add_action('wpforms_process', 'custom_password_validation', 10, 3);
function custom_password_validation($fields, $entry, $form_data) {
    foreach ( $fields as $field_id =&gt; $field ) {
        // Controlla se questo è il campo corretto (sostituisci 100 con l'ID effettivo del tuo campo) ed è un campo password
        if ( $field_id == 100 &amp;&amp; $field['type'] === 'password' ) {
            $password = $field['value'];
            
            // Definisci il pattern di convalida della password
            $uppercase = preg_match('@[A-Z]@', $password);
            $lowercase = preg_match('@[a-z]@', $password);
            $number    = preg_match('@[0-9]@', $password);
            $symbol    = preg_match('@[\W]@', $password);

            // Controlla se la password soddisfa tutti i requisiti
            if ( !$uppercase || !$lowercase || !$number || !$symbol ) {
                wpforms()-&gt;process-&gt;errors[$form_data['id']][$field_id] = esc_html__( 'La password deve includere almeno una lettera maiuscola, una lettera minuscola, un numero e un simbolo.', 'plugin-domain' );
            }
        }
    }
}
```

## Personalizzazione dello snippet

Puoi modificare questo snippet per adattarlo alle tue esigenze specifiche:

1. **ID del campo**: Sostituisci `100` nella riga `if ( $field_id == 100 &amp;&amp; $field['type'] === 'password' ) {` con l'ID effettivo del tuo campo password. Per trovare l'ID del tuo campo, consulta la nostra guida su [come trovare gli ID dei campi](https://wpforms.com/developers/how-to-locate-form-id-and-field-id/#locating-the-field-id).
2. **Messaggio di errore**: Puoi personalizzare il messaggio di errore modificando il testo nella funzione `esc_html__()`.
3. **Requisiti della password**: Se desideri modificare i requisiti della password, puoi modificare le espressioni regolari nelle funzioni `preg_match()` o aggiungere/rimuovere controlli secondo necessità.

Dopo aver aggiunto lo snippet, assicurati di testare a fondo il tuo modulo per garantire che la convalida della password funzioni come previsto. Prova a inviare il modulo con varie combinazioni di password per verificare che la convalida personalizzata venga applicata correttamente.

Ed ecco fatto! Ora hai implementato la convalida personalizzata della password nei tuoi WPForms. Ciò garantirà che gli utenti creino password sicure che soddisfino i tuoi requisiti specifici.

Vuoi saperne di più sui messaggi di convalida che appaiono nei tuoi moduli? Dai un'occhiata al nostro tutorial su [come modificare i messaggi di convalida](https://wpforms.com/docs/customize-wpforms-validation-messages/) per maggiori dettagli.

**Categorie:** Tutorial, Campi

---</body></html>