Si desidera fornire un'ulteriore convalida del campo Telefono? Ad esempio, se si desidera impedire agli utenti di inserire numeri verdi nel campo Telefono, è possibile farlo facilmente con un piccolo snippet PHP. In questo tutorial, vi illustreremo i passaggi per impedire l'inserimento di numeri verdi nel vostro modulo.
Creazione del modulo
Per iniziare, è necessario creare il modulo e aggiungere il campo Telefono al modulo, oltre a tutti i campi aggiuntivi di cui si ha bisogno nel modulo.
Se avete bisogno di aiuto per creare il vostro modulo, consultate questa documentazione.
Impostazione del formato del campo Telefono
Per lo scopo di questa documentazione, eviteremo qualsiasi numero di telefono che inizia per 8
o +8
. A seconda di quale Formato che si sta utilizzando per il file Telefono Il campo del modulo dipenderà dallo snippet di codice che dovrete utilizzare di seguito.
Convalida del campo telefonico aggiuntivo
Ora è il momento di aggiungere lo snippet PHP necessario. Ci sono due diversi snippet e questo dipende dal formato impostato per il campo Telefono quando si è creato il modulo.
Se avete bisogno di aiuto per aggiungere gli snippet al vostro sito, consultate questo tutorial.
Formato del 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 di 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 guardano il valore del campo Telefono quando il modulo viene inviato e se inizia con il numero 8 o +8 il modulo non viene inviato e viene visualizzato un messaggio di errore.
Ed ecco fatto! Avete aggiunto con successo un'ulteriore convalida per il campo del modulo Telefono. Volete anche impedire l'inserimento di determinate e-mail? Consultate il nostro tutorial su Come limitare i domini e-mail.