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

**Publicado em:** 13 de outubro de 2020
**Autor:** Equipa Editorial

**Excerto:** A ação wpforms_process_validate_text dispara a validação no campo de formulário <strong>Texto de Linha Única</strong> quando o formulário é submetido.

**Conteúdo:**

## Descrição

A ação `wpforms_process_validate_text` dispara a validação no campo de formulário **Texto de Linha Única** quando o formulário é submetido.

## Parâmetros

$field\_id*(int)* ID do campo.$field\_submit*(array)* Valor original não sanitizado do campo submetido para o campo.$form\_data*(array)* Configurações/dados do formulário processados, preparados para serem usados posteriormente.## Origem

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

## Mais Informações

A ação é aplicada a um array para o campo de formulário **Texto de Linha Única**. Esta função pode ser usada para todos os campos de formulário `do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data )`.

Por exemplo, para usar isto para um campo de **Email**, usaria `do_action( wpforms_process_validate_email, $field_id, $field_submit, $form_data )`.

É importante notar que os valores dos campos não são sanitizados até mais tarde no processamento, em `wpforms_process_format_{$field_type}`.

Para uma melhor segurança, é fortemente recomendado usar validação no lado do servidor em vez de depender apenas de JavaScript. Pode usar o hook `wpforms_process_validate_{$field_type}` para validar diferentes tipos de campos. Por exemplo, use `wpforms_process_validate_email` para um campo de Email. Certifique-se de aplicar a sua validação **antes** do hook `wpforms_process_format_{$field_type}`, pois é quando os dados são sanitizados.

## Exemplos

Pode usar esta ação para verificar o **Texto de Linha Única** para qualquer coisa que deseje validar antes de enviar o formulário.

Neste exemplo, vamos procurar por qualquer profanidade neste campo. Se houver alguma profanidade, o formulário exibirá um erro e não será enviado.

```

/*
 * Verifica o campo de texto de linha única em busca de profanidade.
 *
 * @link https://wpforms.com/developers/wpforms_process_validate_text/
 *
 * @param int     $field_id        ID do campo.
 * @param array   $field_submit    Valor não sanitizado do campo submetido para o campo.
 * @param array   $form_data       Dados e configurações do formulário.
*/

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

    // Opcional, pode limitar a formulários específicos. Abaixo, restringimos a saída
    // ao ID do formulário #1423.
    if ( absint( $form_data[ 'id' ] ) !== 1423 ) {
        return;
    }

    // Crie a sua lista de palavras de profanidade separadas por vírgulas
    $blocked_words = array( 
        'palavrafeia1',
        'palavrafeia2'
    );
 
    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Profanidade não permitida.', 'wpforms' );
            return;
        }
    }
 
}
 
add_action( 'wpforms_process_validate_text', 'wpf_dev_profanity_filter_single_text', 10, 3 );
```

## Artigos de Referência

- [Como Bloquear Submissões de Formulários Contendo Profanidade](https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/ "Como Bloquear Submissões de Formulários Contendo Profanidade")
- [Como Bloquear Domínios dos Seus Campos de Texto](https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/ "Como Bloquear Domínios dos Seus Campos de Texto")

**Categorias:** Ganchos de Ação

---</body></html>