Benutzerprofilfelder: select bei bestehenden Feldern und neu angelegten Feldern, die zunächst ein Textfeld waren, nicht als Pflichtfeld einrichtbar

  • Betroffene App
    WoltLab Suite Core

    Auch in dieser Version ist es noch immer so, dass ein Benutzerprofilfeld vom typ select nicht als Pflichfeld definierbar ist, obwohl es den Haken "als Pflichtfeld definieren" gibt. Somit nehme ich an, dass dies auch ohne weitere Prüfroutinen zu implementieren funktionieren sein sollte.

    Ich würde also gerne einen Standardwert angeben können der da z.B. "bitte auswählen" lautet, der aber nicht in der Liste der Auswahlmöglichkeiten stehen muss. Wählt nun ein User nichts aus, ist die Erwartung, das eine Fehlermeldung erscheint, dass er eine Auswahl treffen muss.

    Liebe Grüße
    Susi

  • Aha, interessant. Ich habe das Feld importiert und es funktioniert ja in 2.1 nicht so wie jetzt bei dir. Und da kann ich nun in 3.1 einstellen was ich will und da ist immer die erste Option vorausgewählt.

    Man kann das nachvollziehen, indem man erst ein Feld anlegt, ohne es als Pflichtfeld zu definieren. Dann kannst auch du es nicht mehr ändern. Zumindest ist das in meiner Testumgebung so. Wenn du das auch nochmal ausprobieren magst, wäre das super.

    Liebe Grüße
    Susi

  • Vor der Einrichtung als Pflichtfeld nach dem Absenden der Seite:

    Nach der Einrichtung als Pflichtfeld nach dem Absenden der Seite:

    Also auch jetzt das erwartete Resultat.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Ich habe das Feld importiert und es funktioniert ja in 2.1 nicht so wie jetzt bei dir. Und da kann ich nun in 3.1 einstellen was ich will und da ist immer die erste Option vorausgewählt.

    Dann nutze doch einfach mal kein importiertes Feld sondern lösche den alten Krempel und erstelle ein neues Feld. Sollte dann auch wie bei norse klappen. ;)

  • Im WCF 2.1 lässt sich so ein Feld in der Tat nicht im ACP als Pflichtfeld deklarieren. In der DB (Spalte required) ist das allerdings problemlos möglich.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Ich hatte ein neues angelegt und damit ging es auch erst einmal nicht. Leider habe ich das wieder gelöscht und es nach norse Beitrag nochmal von vorne versucht. Das ging jetzt auch bei mir. Aber es wird eine Konstellation geben, wo es nicht funktioniert. Denn mein altes Feld kann ich nach wie vor nicht auf diese erwartete Art umstellen.

    Und das will natürlich auch nicht löschen, weil ich die Info ja haben will, sonst bräuchte ich sie kaum als Pflichtfeld abfragen.

    ----------------------

    Ich habe es nun nochmal ausprobiert. Wenn ich das Feld zuerst als Textfeld anlege und dann auf select umstelle, hat man genau den Effekt. Es wird auch die Ausgabeklasse dann nicht eingetragen, doch nützt es auch nichts, wenn man das selber nachträglich macht.

    Liebe Grüße
    Susi

  • Schau Dir mal den Eintrag für das importierte Feld in der DB an, setze dort required auf 1 und leere im ACP den Cache. Vielleicht verhält sich das Feld dann so wie erwartet.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Marcel Werk 2. Oktober 2018 um 18:01

    Hat das Label Ist kein Fehler hinzugefügt.
  • Wieso ist das kein Fehler, wenn man es bei Feldern, die in vorherigen Versionen angelegt wurden und auch bei Feldern, die beim ersten Anlegen ein Textfeld waren nicht funktioniert?

    Der Tipp von norse ist doch nur ein Workaround oder wollt ihr wirklich, dass alle Anwender deshalb in der Datenbank rumfummeln?

    Ich hoffe doch sehr, diese Einordnung ist nur der Unübersichtlichkeit der Diskussion geschuldet und wird revidiert.

    Liebe Grüße
    Susi

  • Nein, ich habe bisher nicht geschafft es auszuprobieren, bin die nächsten Tage unterwegs und werde auch danach die Woche leider zu nicht viel kommen, was mit dem Forum zu tun hat.

    Liebe Grüße
    Susi

  • Susi 2. Oktober 2018 um 19:45

    Hat den Titel des Themas von „Benutzerprofilfelder: select nicht als Pflichtfeld einrichtbar“ zu „Benutzerprofilfelder: select bei bestehenden Feldern und neu angelegten Feldern, die zunächst ein Textfeld waren, nicht als Pflichtfeld einrichtbar“ geändert.
  • Schau Dir mal den Eintrag für das importierte Feld in der DB an, setze dort required auf 1 und leere im ACP den Cache. Vielleicht verhält sich das Feld dann so wie erwartet.

    Das Feld steht auf 1, das hilft also nicht weiter.

    Wenn ich in die Datenbank schaue, dann gibt es einen Unterschied zwischen dem Feld, das richtig funktioniert und denen, die nicht funktionieren.

    Bei additionalData in der Tabelle wcfi_user_option steht dort, wo es funktioniert ein a:1:{s:15:"allowEmptyValue";b:1;}, bei den anderen ist es leer. Übertrage ich es in die Felder, die nicht funktionieren, ändert das aber auch nichts.

    Es gibt also bisher auch keinen Workaround für das Problem.

    Marcel Werk: Ihr könnt den Fehler auf diese Weise nachvollziehen:

    Ich habe es nun nochmal ausprobiert. Wenn ich das Feld zuerst als Textfeld anlege und dann auf select umstelle, hat man genau den Effekt. Es wird auch die Ausgabeklasse dann nicht eingetragen, doch nützt es auch nichts, wenn man das selber nachträglich macht.

    Es funktioniert also bei Feldern die man gleich beim ersten speichern als "select" Feld anlegt, nicht aber, wenn man es später von einem Textfeld auf eine Selectfeld umstellen möchte.

    Wenn das kein Fehler ist, dann würde ich zumindest eine Fehlermeldung erwarten, dass das Umstellen nicht möglich ist und man das Feld neu anlegen muss. Bei importierten Feldern kanns das aber eigentlich nicht sein. Das Feld gibt es in meinem Forum schon so lange, das ich nicht sagen kann, ob es beim ersten Speichern damals im wbb2.3 ein Textfeld war oder nicht. Das muss auch eigentlich egal sein.

    Liebe Grüße
    Susi

Jetzt mitmachen!

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