Resumo de IA
Gostaria de fornecer validação adicional para o campo de telefone? Por exemplo, se desejar impedir que os utilizadores insiram números gratuitos no seu campo Telefone, pode conseguir isto facilmente com um pequeno trecho de código PHP. Neste tutorial, vamos guiá-lo através dos passos sobre como impedir a inserção de números gratuitos no seu formulário.
Criação do formulário
Para começar, terá de criar o seu formulário e adicionar o seu campo Telefone ao seu formulário, bem como quaisquer campos adicionais de que necessitará no seu formulário.
Se precisar de ajuda na criação do seu formulário, consulte esta documentação.

Definir o formato do campo Telefone
Para efeitos desta documentação, vamos impedir qualquer número de telefone que comece com 8 ou +8. Dependendo do Formato que estiver a usar para o campo do formulário Telefone, dependerá do trecho de código que precisará de usar abaixo.

Validação Adicional do Campo Telefone
Agora é hora de adicionar o trecho de código PHP de que precisará. Existem dois trechos de código diferentes e isto depende de qual Formato foi definido para o campo Telefone quando criou o seu formulário.
Se precisar de ajuda para adicionar trechos ao seu site, veja este tutorial.
Formato de Telefone dos EUA
/**
* Custom US format phone field Validation on submit (reject defined prefixes).
*
* @link https://wpforms.com/developers/how-to-provide-additional-phone-field-validation/
*/
function wpf_dev_process_validate_phone($field_id, $field_submit, $form_data)
{
// Only check for US phone field format
if ( 'us' === $form_data[ 'fields' ][$field_id][ 'format' ]) {
$stripped_phone = str_replace(array( '(', ')'), '', (string) $field_submit);
$prefixes = [ '8', '+8' ];
$regexp = implode( '|', $prefixes);
if (preg_match( '/^[' . $regexp . ']/', $stripped_phone)) {
wpforms()->process->errors[$form_data[ 'id' ]][$field_id] = esc_html__( 'The number should not start with "' . implode( '", "', $prefixes ) . '"', 'plugin-domain' );
}
}
}
add_action( 'wpforms_process_validate_phone', 'wpf_dev_process_validate_phone', 10, 3);
Formato de Telefone Inteligente e Internacional
/**
* Custom Smartphone and International field Validation on submit (reject defined prefixes).
*
* @link https://wpforms.com/developers/how-to-provide-additional-phone-field-validation/
*/
function wpf_dev_process_validate_phone( $field_id, $field_submit, $form_data ) {
$prefixes = [ '8', '+8' ];
$regexp = implode( '|', $prefixes );
if ( preg_match( '/^[' . $regexp . ']/', (string) $field_submit ) ) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'The number should not start with "' . implode( '", "', $prefixes) . '"', 'plugin-domain' );
}
}
add_action( 'wpforms_process_validate_phone', 'wpf_dev_process_validate_phone', 10, 3 );
Ambos os trechos de código analisarão o valor do campo Telefone quando o formulário for submetido e, se começar com o número 8 ou +8, o formulário não será submetido e aparecerá uma mensagem de erro.

E é tudo! Adicionou com sucesso validação adicional para o seu campo de formulário Telefone. Gostaria também de impedir a entrada de determinados e-mails? Consulte o nosso tutorial sobre Como Restringir Domínios de E-mail.