<html lang="es-es" dir="ltr"><head></head><body>### [Cómo bloquear dominios de sus campos de texto](https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/)

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

**Extracto:** En este tutorial, te explicaremos cómo bloquear dominios de completar tus campos de formulario de Párrafo y Texto de una sola línea. 

**Contenido:**

¿Interesado en mejorar la seguridad de tus formularios web? Con un simple fragmento de PHP, puedes bloquear eficazmente envíos de dominios específicos directamente dentro del campo de texto de tu formulario. En este tutorial, te guiaremos a través del proceso paso a paso para implementar esta función, asegurando que tus formularios permanezcan protegidos contra spam y envíos maliciosos.

## Creación del formulario

Comenzaremos creando un nuevo formulario. Nuestro formulario es solo un formulario de contacto simple donde les pediremos que dejen su nombre, correo electrónico y cualquier comentario adicional que deseen agregar.

Para nuestro formulario de ejemplo, agregaremos los campos de formulario **Nombre**, **Correo electrónico**, **Texto de párrafo** y **Captcha personalizado** (para seguridad adicional).

![comienza creando tu formulario y agregando tus campos](https://wpforms.com/wp-content/uploads/2023/02/wpforms-block-domains-create-form.jpg)Si necesitas ayuda, [consulta nuestra útil guía sobre cómo crear un nuevo formulario](https://wpforms.com/docs/creating-first-form/ "Creación de tu primer formulario").

## Bloqueo de dominios

Ahora es el momento de agregar nuestros fragmentos. Para cualquier ayuda sobre cómo y dónde agregar fragmentos, [revisa este tutorial](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "Cómo agregar PHP o JavaScript personalizado para WPForms").

### Campo de texto de párrafo

```

/**
 * Bloquear dominios dentro del Párrafo de Texto
 *
 * @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__( 'Esto no está permitido.', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_textarea' , 'wpf_dev_prevent_domains_textarea', 10, 3 );
```

Este fragmento buscará dentro del campo de formulario **Texto de párrafo** cualquier combinación de las palabras que se muestran dentro de `preg_match` y bloqueará el envío del formulario si es verdadero.

![si el campo de comentarios contuviera algún tipo de nombre de dominio, el formulario no se enviará](https://wpforms.com/wp-content/uploads/2023/02/wpforms-block-domains-error.jpg)### Campo de texto de una sola línea

Puedes usar la misma funcionalidad para el campo **Texto de una sola línea** con la misma facilidad. El fragmento será casi idéntico con la excepción del nombre del filtro.

```

/**
 * Bloquear dominios dentro del Texto de una sola línea
 *
 * @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__( 'Esto no está permitido.', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_text' , 'wpf_dev_prevent_domains_text', 10, 3 );
```

¡Y eso es todo lo que necesitas! ¿También te gustaría bloquear groserías en estos campos? Consulta nuestro tutorial sobre [Cómo bloquear envíos de formularios que contengan groserías](https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/ "Cómo bloquear envíos de formularios que contengan groserías").

## Acciones de referencia

- [wpforms\_process\_validate\_textarea](https://wpforms.com/developers/wpforms_process_validate_textarea/ "Usando la acción wpforms_process_validate_textarea")
- [wpforms\_process\_validate\_text](https://wpforms.com/developers/wpforms_process_validate_text/ "Usando la acción wpforms_process_validate_text")

## Preguntas frecuentes

#### P: ¿Puedo usar esto en el campo de formulario de Texto enriquecido?

**R:** ¡Absolutamente! Aquí está el fragmento para el campo de formulario **Texto enriquecido**.

```

/**
 * Bloquear dominios dentro del Texto enriquecido
 *
 * @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__( 'Esto no está permitido.', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_richtext' , 'wpf_dev_prevent_domains_richtext', 10, 3 );
```

#### P: ¿Cómo puedo aplicar esto a otros campos?

**R:** Casi todos los campos tienen algún tipo de validación. La mayoría de los campos usarán `do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data )`. Simplemente reemplazarías `_{$field_type}` con el tipo de campo.

**Categorías:** Campos

**Etiquetas:** PHP

---</body></html>