Riassunto AI
Desideri fornire una validazione aggiuntiva per il campo del telefono? Ad esempio, se desideri impedire agli utenti di inserire numeri verdi nel tuo campo Telefono, puoi ottenerlo facilmente con un piccolo snippet PHP. In questo tutorial, ti guideremo attraverso i passaggi su come impedire l'inserimento di numeri verdi nel tuo modulo.
Creazione del modulo
Per iniziare, dovrai creare il tuo modulo e aggiungere il tuo campo Telefono al modulo, oltre a eventuali campi aggiuntivi di cui avrai bisogno sul tuo modulo.
Se hai bisogno di aiuto nella creazione del tuo modulo, consulta questa documentazione.

Impostazione del formato del campo Telefono
Ai fini di questa documentazione, impediremo a qualsiasi numero di telefono che inizi con 8 o +8. A seconda del Formato che stai utilizzando per il campo del modulo Telefono, dipenderà dallo snippet di codice che dovrai utilizzare di seguito.

Validazione aggiuntiva del campo Telefono
Ora è il momento di aggiungere lo snippet PHP di cui avrai bisogno. Ci sono due snippet diversi e questo dipende da quale Formato è stato impostato per il campo Telefono quando hai creato il tuo modulo.
Se hai bisogno di aiuto nell'aggiungere snippet al tuo sito, consulta questo tutorial.
Formato Telefono USA
/**
* 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 Telefono Intelligente e Internazionale
/**
* 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 );
Entrambi questi snippet esamineranno il valore del campo Telefono quando il modulo viene inviato e se inizia con il numero 8 o +8, il modulo non verrà inviato e apparirà un messaggio di errore.

E questo è tutto! Hai aggiunto con successo una validazione aggiuntiva per il tuo campo modulo Telefono. Desideri anche impedire l'inserimento di determinate email? Dai un'occhiata al nostro tutorial su Come limitare i domini email.