Nur Buchstaben in bestimmten Woocommerce-Checkout-Feldern zulassen

Lesezeit: 2 Minuten

Benutzer-Avatar
cmob

Der Versuch, nur Buchstaben (möglicherweise auch mit nicht-englischen Zeichen) im Woocommerce-Kassenfeld, Vorname, zu erzwingen. Wir haben oft ältere Kunden, daher müssen wir die Benutzereingaben kontrollieren und Fehler im Voraus vermeiden.

Was mache ich falsch?

HINWEIS: Mir ist der Benutzerdefinierte Validierungsthread Benutzerdefinierte Validierung von WooCommerce-Checkout-Feldern bekannt … aber es scheint, als sollte dies viel einfacher und spezifischer gelöst werden?

Der Code von Businessbloomers wurde verwendet, um Zahlen nur im Postleitzahlenfeld zu erzwingen (funktioniert einwandfrei). QUELLE: https://businessbloomer.com/woocommerce-change-input-type-checkout-fields/

function bbloomer_change_checkout_field_input_type() {
echo "<script>document.getElementById('billing_postcode').type="number"; 
</script>";
}
add_action( 'woocommerce_after_checkout_form', 'bbloomer_change_checkout_field_input_type');

Für Fname habe ich die Eingabe des Typs in ‘Buchstabe’ geändert, aber kein Ergebnis (Zahlen können immer noch eingegeben werden). ‘Typ’ gegen ‘Muster’ ausgetauscht, wie unten, aber kein Glück.

function JBC_Force_letters_in_fname_field() {
echo "<script>document.getElementById('billing_first_name').pattern='[A- Za-z]';</script>";

}
add_action( 'woocommerce_after_checkout_form', 'JBC_Force_letters_in_fname_field');
  • Erwartet: David
  • Erhalten/Zulassen: Dav1D3

  • kalzumeus.com/2010/06/17/…

    Benutzer10051234

    24. Dezember 2018 um 5:07 Uhr

  • Ich denke, es wäre einfacher, die Jquery-Validierung für diesen Zweck zu verwenden

    – Muhammad Bilal

    24. Dezember 2018 um 5:13 Uhr

Benutzer-Avatar
LoicTheAztec

Im Folgenden werden numerische Zeichen und einige Satzzeichen aus den Checkout-Feldern Vorname und Nachname für Rechnung und Versand entfernt und auch die Postleitzahl verarbeitet:

add_action( 'wp_footer', 'checkout_field_name_validator_script');
function checkout_field_name_validator_script() {
    // Only on checkout page
    if( ! ( is_checkout() && ! is_wc_endpoint_url() ) ) return;
    ?>
    <script>
    jQuery(function($){
        var b = '#billing_',    s="#shipping_",   f="first_",   l="last_",
            n = 'name',         p = 'postcode',     c=",";

        // Postcode fields
        $(b+p+c+s+p).bind('keyup blur',function(){
            $(this).val($(this).val().replace(/[^0-9]+/,''));
        });

        // First and Last name fields
        $(b+f+n+c+b+l+n+c+s+f+n+c+s+l+n).bind('keyup blur',function(){
            $(this).val($(this).val().replace(/[0-9.,;:?!]+/,''));
        });
    });
    </script>
    <?php
}

Der Code wird in die function.php-Datei Ihres aktiven untergeordneten Designs (oder aktiven Designs) eingefügt. Getestet und funktioniert.

  • Perfekt! Gebrauchte Code-Snippets, die überall zum Einsatz kommen, funktionieren perfekt. Vielen Dank 🙂

    – cmob

    25. Dezember 2018 um 7:03 Uhr


  • Hallo danke. Helfen Sie mir bitte, in meinem Versandfeld (Woocomerce) schreiben Kunden auf Hebräisch, wie erlauben Sie nur lateinische Buchstaben? Ich habe die Funktion gefunden: public function validateLatin($string) { $result = false; if (preg_match(“/^[\w\d\s.,-]*$/”, $string)) { $result = true; } return $result; } aber wie in deinem Code verwenden? Danke

    – Benutzer3331122

    11. Mai 2020 um 6:11 Uhr


  • @user3331122 Tut mir leid, dass ich zu diesem Thema nicht helfen kann…

    – LoicTheAztec

    11. Mai 2020 um 13:32 Uhr

1136150cookie-checkNur Buchstaben in bestimmten Woocommerce-Checkout-Feldern zulassen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy