Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Come fornire una convalida aggiuntiva del campo telefono

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.

per fornire una validazione aggiuntiva del campo telefono dovrai prima creare il tuo modulo.

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.

Seleziona il formato che desideri utilizzare sul tuo campo telefono

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.

Fornendo una validazione aggiuntiva del campo telefono puoi facilmente impedire l'inserimento di numeri verdi sul tuo modulo.

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.

Filtro di Riferimento

wpforms_process_validate_phone