<html lang="it-it" dir="ltr"><head></head><body>### [wpforms_process_validate_text](https://wpforms.com/developers/wpforms_process_validate_text/)

**Pubblicato:** 13 ottobre 2020
**Autore:** Team Editoriale

**Estratto:** L'azione wpforms_process_validate_text esegue la validazione sul campo modulo <strong>Testo a riga singola</strong> quando il modulo viene inviato.

**Contenuto:**

## Descrizione

L'azione `wpforms_process_validate_text` esegue la validazione sul campo modulo **Testo a riga singola** quando il modulo viene inviato.

## Parametri

$field\_id*(int)* ID del campo.$field\_submit*(array)* Valore originale non sanificato del campo inviato per il campo.$form\_data*(array)* Impostazioni/dati del modulo elaborati, preparati per essere utilizzati in seguito.## Sorgente

`wpforms/includes/fields/class-base.php`

## Ulteriori Informazioni

L'azione viene applicata a un array per il campo modulo **Testo a riga singola**. Questa funzione può essere utilizzata per tutti i campi modulo `do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data )`.

Ad esempio, per utilizzarla per un campo **Email**, useresti `do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data )`.

È importante notare che i valori dei campi non vengono sanificati fino a un momento successivo nell'elaborazione, a `wpforms_process_format_{$field_type}`.

Per una maggiore sicurezza, è fortemente consigliato utilizzare la validazione lato server anziché fare affidamento esclusivamente su JavaScript. È possibile utilizzare l'hook `wpforms_process_validate_{$field_type}` per validare diversi tipi di campi. Ad esempio, utilizzare `wpforms_process_validate_email` per un campo Email. Assicurati di applicare la tua validazione **prima** dell'hook `wpforms_process_format_{$field_type}`, poiché è in quel momento che i dati vengono sanificati.

## Esempi

Puoi utilizzare questa azione per scansionare il **Testo a riga singola** per qualsiasi cosa tu voglia validare prima dell'invio del modulo.

In questo esempio, cercheremo volgarità in questo campo. Se ci sono volgarità, il modulo visualizzerà un errore e non verrà inviato.

```

/*
 * Controlla il campo di testo a riga singola per volgarità.
 *
 * @link https://wpforms.com/developers/wpforms_process_validate_text/
 *
 * @param int     $field_id        ID del campo.
 * @param array   $field_submit    Valore del campo non sanificato inviato per il campo.
 * @param array   $form_data       Dati e impostazioni del modulo.
*/

function wpf_dev_profanity_filter_single_text( $field_id, $field_submit, $form_data ) {

    // Opzionale, puoi limitare a moduli specifici. Di seguito, limitiamo l'output
    // al modulo ID #1423.
    if ( absint( $form_data[ 'id' ] ) !== 1423 ) {
        return;
    }

    // Crea la tua lista di parole volgari separate da virgole
    $blocked_words = array( 
        'parolaccia1', 
        'parolaccia2'
    );
 
    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Nessuna parolaccia consentita.', 'wpforms' );
            return;
        }
    }
 
}
 
add_action( 'wpforms_process_validate_text', 'wpf_dev_profanity_filter_single_text', 10, 3 );
```

## Articoli di riferimento

- [Come bloccare gli invii di moduli contenenti volgarità](https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/ "Come bloccare gli invii di moduli contenenti volgarità")
- [Come bloccare domini dai tuoi campi di testo](https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/ "Come bloccare domini dai tuoi campi di testo")

**Categorie:** Action Hooks

---</body></html>