1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

WP 4.9 ultimatemember: Validierung

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von HCA, 7. Juli 2018.

Schlagworte:
  1. HCA

    HCA Well-Known Member

    Registriert seit:
    23. August 2011
    Beiträge:
    68
    Zustimmungen:
    0
    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-apply-custom-validation-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?
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    4.436
    Zustimmungen:
    48
    if ( isset( $args['gutschein'] ) && trim($args['gutschein']) != '' <hier fehlt ein oder oder und ...> $args['gutschein'] != 'XXX' ) {
     
  3. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    5.899
    Zustimmungen:
    509
    Die Fehlermeldung passt nicht so recht zum Code, beseitige erstmal den PHP-Fehler:

    if ( isset( $args['gutschein'] ) && trim($args['gutschein']) != '' && $args['gutschein'] != 'XXX' ) {


    Wo genau fügst Du Deinen Code ein?
     
  4. HCA

    HCA Well-Known Member

    Registriert seit:
    23. August 2011
    Beiträge:
    68
    Zustimmungen:
    0
    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' );
    }
    }
     
  5. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    5.899
    Zustimmungen:
    509
    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.
     
  6. HCA

    HCA Well-Known Member

    Registriert seit:
    23. August 2011
    Beiträge:
    68
    Zustimmungen:
    0
    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.
     
  7. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    4.436
    Zustimmungen:
    48
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden