KI-Zusammenfassung
Möchten Sie eine zusätzliche Validierung für das Telefonfeld bereitstellen? Wenn Sie beispielsweise verhindern möchten, dass Benutzer kostenlose Nummern in Ihrem Telefonfeld eingeben, können Sie dies mit einem kleinen PHP-Snippet ganz einfach erreichen. In diesem Tutorial führen wir Sie durch die Schritte, wie Sie die Eingabe von kostenlosen Nummern in Ihrem Formular verhindern können.
Erstellung des Formulars
Um zu beginnen, müssen Sie Ihr Formular erstellen und Ihr Telefonfeld sowie alle zusätzlichen Felder, die Sie in Ihrem Formular benötigen, hinzufügen.
Wenn Sie Hilfe beim Erstellen Ihres Formulars benötigen, sehen Sie bitte diese Dokumentation an.

Festlegen des Telefonfeldformats
Für diese Dokumentation werden wir verhindern, dass jede Telefonnummer mit 8 oder +8 beginnt. Abhängig vom Format, das Sie für das Telefonformularfeld verwenden, benötigen Sie den unten stehenden Codeausschnitt.

Zusätzliche Telefonfeldvalidierung
Jetzt ist es an der Zeit, den benötigten PHP-Snippet hinzuzufügen. Es gibt zwei verschiedene Snippets, abhängig davon, welches Format für das Telefonfeld beim Erstellen Ihres Formulars festgelegt wurde.
Wenn Sie Hilfe beim Hinzufügen von Snippets zu Ihrer Website benötigen, sehen Sie sich dieses Tutorial an.
US-Telefonformat
/**
* 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);
Smart- und internationales Telefonformat
/**
* 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 );
Beide Snippets prüfen den Wert des Telefonfeldes bei der Übermittlung des Formulars. Wenn es mit der Zahl 8 oder +8 beginnt, wird das Formular nicht übermittelt und eine Fehlermeldung angezeigt.

Und das ist alles! Sie haben erfolgreich eine zusätzliche Validierung für Ihr Telefonformularfeld hinzugefügt. Möchten Sie auch verhindern, dass bestimmte E-Mails eingegeben werden? Schauen Sie sich unser Tutorial So beschränken Sie E-Mail-Domains an.