Résumé IA
Souhaitez-vous fournir une validation supplémentaire pour le champ téléphone ? Par exemple, si vous souhaitez empêcher les utilisateurs de saisir des numéros gratuits dans votre champ Téléphone, vous pouvez facilement y parvenir avec un petit extrait de code PHP. Dans ce tutoriel, nous vous guiderons à travers les étapes pour empêcher la saisie de numéros gratuits dans votre formulaire.
Création du formulaire
Pour commencer, vous devrez créer votre formulaire et y ajouter votre champ Téléphone ainsi que tous les champs supplémentaires dont vous aurez besoin sur votre formulaire.
Si vous avez besoin d'aide pour créer votre formulaire, veuillez consulter cette documentation.

Définir le format du champ Téléphone
Aux fins de cette documentation, nous allons empêcher tout numéro de téléphone commençant par 8 ou +8. Selon le Format que vous utilisez pour le champ de formulaire Téléphone, le fragment de code que vous devrez utiliser ci-dessous dépendra.

Validation supplémentaire du champ Téléphone
Il est maintenant temps d'ajouter le fragment de code PHP dont vous aurez besoin. Il existe deux fragments différents, et cela dépend du Format qui a été défini pour le champ Téléphone lors de la création de votre formulaire.
Si vous avez besoin d'aide pour ajouter des extraits de code à votre site, veuillez consulter ce tutoriel.
Format Téléphone US
/**
* 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);
Format Téléphone Intelligent et International
/**
* 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 );
Ces deux fragments examineront la valeur du champ Téléphone lors de la soumission du formulaire et s'il commence par le chiffre 8 ou +8, le formulaire ne sera pas soumis et un message d'erreur apparaîtra.

Et voilà ! Vous avez ajouté avec succès une validation supplémentaire pour votre champ de formulaire Téléphone. Souhaitez-vous également empêcher la saisie de certains e-mails ? Consultez notre tutoriel sur Comment restreindre les domaines d'e-mails.