ultimatemember: Validierung

  • Hallo,

    ich nutze ultimatemember und möchte im Registrierungsformular ein Feld beim Absenden des Formulares prüfen.
    Feld heißt Gutschein und soll nur einen bestimmten Wert enthalten.

    Ich habe es nach der Vorgabe des Anbieters umgesetzt.
    https://docs.ultimatemember.com/article/94-app…tion-to-a-field

    Erhalte aber folgende Fehlermeldung:
    [07-Jul-2018 11:22:56 UTC] PHP Notice: Undefined property: UM::$form in *****/functions.php on line 596
    [07-Jul-2018 11:22:56 UTC] PHP Fatal error: Uncaught Error: Call to a member function add_error() on null in /****/functions.php:596

    Hier mein Code:
    add_action('um_submit_form_errors_hook_','um_submit_form_errors_hook_custom', 999, 1);
    function um_submit_form_errors_hook_custom( $args ) {
    global $ultimatemember;

    if ( isset( $args['gutschein'] ) && trim($args['gutschein']) != '' $args['gutschein'] != 'XXX' ) {
    $ultimatemember->form->add_error( 'gutschein', 'Dieser Gutscheincode ist ungültig' );
    }
    }

    Hat jemand eine Idee für mich?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo,
    if ( isset( $args['gutschein'] ) && trim($args['gutschein']) != '' $args['gutschein'] != 'XXX' ) {
    $ultimatemember->form->add_error( 'gutschein', 'Dieser Gutscheincode ist ungültig' );
    }
    }

    if ( isset( $args['gutschein'] ) && trim($args['gutschein']) != '' <hier fehlt ein oder oder und ...> $args['gutschein'] != 'XXX' ) {

    Mit offenen Augen träumen

  • Die Fehlermeldung passt nicht so recht zum Code, beseitige erstmal den PHP-Fehler:
    [FONT=Courier New]
    if ( isset( $args['gutschein'] ) && trim($args['gutschein']) != '' [FONT=Courier New][COLOR=#ff0000]&&[/COLOR] [/FONT] $args['gutschein'] != 'XXX' ) {[/FONT]

    Wo genau fügst Du Deinen Code ein?

  • Ohh das ist wohl was beim Kopieren abhanden gekommen.
    Hier die vollständeige Funktion:

    function um_submit_form_errors_hook_custom( $args ) {
    global $ultimatemember;

    if ( isset( $args['gutschein'] ) && trim($args['gutschein']) != '' && ($args['gutschein'] != 'XXX2' && $args['gutschein'] != 'XXX2') ) {
    //$ultimatemember->form->add_error( 'gutschein', 'Dieser Gutscheincode ist ungueltig' );
    }
    }

  • Der jetzt gepostete Code kann die Fehlermeldung auch nicht verursachen, da add_action fehlt und zudem die entspr. Zeile auskommentiert ist.

    Wo genau fügst Du Deinen Code ein?

    Und deaktiviere mal testweise alle(!) sonstigen Plugins.

    Ergänzung: Evtl. ist der Beispielcode auch falsch, siehe mehr dazu hier.

  • Die Action steht bereits oben. Habe jetzt nur die vollständige Funktion gepostet. Auskommentiert da der Fehler dort entsteht. Wenn auskommentiert dann funktioniert alles bestens.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!