<html lang="pt-pt" dir="ltr"><head></head><body>### [Como Bloquear Domínios dos Seus Campos de Texto](https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/)

**Publicado:** 21 de Fevereiro de 2023
**Autor:** Umair Majeed

**Excerto:** Neste tutorial, vamos guiá-lo através de como bloquear domínios de completar os campos de formulário de Parágrafo e Texto de Linha Única. 

**Conteúdo:**

Interessado em melhorar a segurança dos seus formulários web? Com um simples trecho de PHP, pode efetivamente bloquear submissões de domínios específicos diretamente no campo de texto do seu formulário. Neste tutorial, vamos guiá-lo através do processo passo a passo de implementação desta funcionalidade, garantindo que os seus formulários permaneçam protegidos contra spam e submissões maliciosas.

## Criação do formulário

Começaremos por criar um novo formulário. O nosso formulário é apenas um formulário de contacto simples onde pediremos o nome, email e quaisquer comentários adicionais que desejem adicionar.

Para o nosso formulário de exemplo, adicionaremos os campos de formulário **Nome**, **Email**, **Texto de Parágrafo** e o **Captcha Personalizado** (para segurança adicional).

![comece por criar o seu formulário e adicionar os seus campos](https://wpforms.com/wp-content/uploads/2023/02/wpforms-block-domains-create-form.jpg)Se precisar de alguma assistência, por favor [consulte o nosso guia útil sobre como criar um novo formulário](https://wpforms.com/docs/creating-first-form/ "Criar o Seu Primeiro Formulário").

## Bloqueio dos domínios

Agora é hora de adicionar os nossos trechos. Para qualquer assistência sobre como e onde adicionar trechos, [por favor reveja este tutorial](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "Como Adicionar PHP ou JavaScript Personalizado para WPForms").

### Campo de Texto de Parágrafo

```

/**
 * Bloquear domínios dentro do Texto de Parágrafo
 *
 * @link   https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/
 */
  
function wpf_dev_prevent_domains_textarea( $field_id, $field_submit, $form_data ) {
     
    if ( preg_match( '/www.|.com|.net|.org|.co.uk/', $field_submit ) ) {
        wpforms()-&gt;get( 'process' )-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Isto não é permitido.', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_textarea' , 'wpf_dev_prevent_domains_textarea', 10, 3 );
```

Este trecho irá procurar dentro do campo de formulário **Texto de Parágrafo** qualquer combinação das palavras mostradas dentro do `preg_match` e bloquear a submissão do formulário se for verdadeira.

![se o campo de comentários contiver qualquer tipo de nome de domínio, o formulário não será submetido](https://wpforms.com/wp-content/uploads/2023/02/wpforms-block-domains-error.jpg)### Campo de Texto de Linha Única

Pode usar a mesma funcionalidade para o campo **Texto de Linha Única** com a mesma facilidade. O trecho será quase idêntico com a exceção do nome do filtro.

```

/**
 * Bloquear domínios dentro do Texto de Linha Única
 *
 * @link   https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/
 */
  
function wpf_dev_prevent_domains_text( $field_id, $field_submit, $form_data ) {
     
    if ( preg_match( '/www.|.com|.net|.org|.co.uk/', $field_submit ) ) {
        wpforms()-&gt;get( 'process' )-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Isto não é permitido.', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_text' , 'wpf_dev_prevent_domains_text', 10, 3 );
```

E é tudo o que precisa! Gostaria também de bloquear qualquer profanidade nestes campos? Consulte o nosso tutorial sobre [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").

## Ações de Referência

- [wpforms\_process\_validate\_textarea](https://wpforms.com/developers/wpforms_process_validate_textarea/ "Usando a ação wpforms_process_validate_textarea")
- [wpforms\_process\_validate\_text](https://wpforms.com/developers/wpforms_process_validate_text/ "Usando a ação wpforms_process_validate_text")

## FAQ

#### P: Posso usar isto no campo de formulário Texto Rico?

**R:** Absolutamente! Aqui está o trecho para o campo de formulário **Texto Rico**.

```

/**
 * Bloquear domínios dentro do Texto Rico
 *
 * @link   https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/
 */
  
function wpf_dev_prevent_domains_richtext( $field_id, $field_submit, $form_data ) {
     
    if ( preg_match( '/www.|.com|.net|.org|.co.uk/', $field_submit ) ) {
        wpforms()-&gt;get( 'process' )-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Isto não é permitido.', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_richtext' , 'wpf_dev_prevent_domains_richtext', 10, 3 );
```

#### P: Como posso aplicar isto a outros campos?

**R:** Quase todos os campos têm algum tipo de validação. A maioria dos campos usará `do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data )`. Basta substituir `_{$field_type}` pelo tipo de campo.

**Categorias:** Campos

**Etiquetas:** PHP

---</body></html>