Como bloquear URLs dentro dos campos do formulário

Introdução

Você gostaria de bloquear URLs dentro dos campos de formulário, como os campos de texto de linha única e de texto de parágrafo? A maioria dos spams é enviada por bots que tentam adicionar links ao seu formulário e, usando um pequeno script PHP, você pode adicionar outra camada de proteção ao seu formulário, rejeitando qualquer envio de formulário que tente vir com um URL listado dentro dos campos de formulário Texto de linha única ou Texto de parágrafo. Neste tutorial, vamos orientá-lo em cada etapa sobre como evitar que URLs sejam colocados nesses campos.

Criando seu formulário

Para o nosso exemplo, vamos criar um formulário de contato simples para os campos Name (Nome), Email (E-mail), How Did you Hear About Us (Texto de linha única) e Comment (Texto de parágrafo).

Se precisar de ajuda para criar seu formulário, consulte esta documentação.

comece criando seu formulário e adicionando seus campos

Adição do snippet de código para bloquear URLs

Agora é hora de adicionar o snippet que bloqueará os URLs dentro do formulário.

Se precisar de ajuda para adicionar snippets ao seu site, consulte este tutorial.

/*
 * Block URLs from inside form on Single Line Text and Paragraph Text form fields
 *
 * @link https://wpforms.com/developers/how-to-block-urls-inside-the-form-fields/
*/
 
function wpf_dev_check_for_urls( $field_id, $field_submit, $form_data ) {

	if( strpos($field_submit, 'http') !== false || strpos($field_submit, 'www.') !== false ) {
		wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No URLs allowed.', 'wpforms' );
		return;
	} 
	
}
  
add_action( 'wpforms_process_validate_textarea', 'wpf_dev_check_for_urls', 10, 3 );
add_action( 'wpforms_process_validate_text', 'wpf_dev_check_for_urls', 10, 3 );

Esse snippet é aplicado automaticamente a todos os formulários e impedirá que qualquer campo de texto regular ou campo de área de texto (como Texto de parágrafo) permita a inserção de URLs dentro do campo.

bloquear urls dentro do formulário com este script PHP

E é isso! Você também gostaria de bloquear palavrões nesses campos? Dê uma olhada em nosso artigo sobre Como bloquear envios de formulários que contenham palavrões.

Referências de ações: