[Gelöst] Profile Checkboxes als Pflichtfelder
am 17.01.2011 - 13:26 Uhr in
Hallo,
ich habe ein Problem mit den Profile Checkboxes. Ich möchte in dem Registrierungsformular für neue User Checkboxes als Pflichtfelder.
Unter "Verwalten › Benutzerverwaltung › Profile" kann ich zwar neue Checkboxes als Profilfelder anlegen und diese auch als Pflichtfelder ("Der Benutzer muss einen Wert eingeben") markieren, aber diese Option ist ausgerechnet für Checkboxes wirkungslos => Auch wenn ich diese Option für Checkboxes aktiviere, sind sie faktisch keine Pflichtfelder und User können sich auch ohne dieses Feld weiter zu beachten, auf der Website registrieren.
Für alle andern Profilfeld-Typen funktioniert die Option.
Was läuft hier verkehrt?
Viele Grüße
Anoa
- Anmelden oder Registrieren um Kommentare zu schreiben
Checkbox
am 17.01.2011 - 13:33 Uhr
Hallo.
Was läuft hier verkehrt?
Das ist leider ein kleiner Bug in Drupal, der in Drupal 7 behoben ist und sich in früheren Versionen mit dem Modul [do:checkbox_validate Checkbox Validate] umgehen lässt.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Welche Drupal version wird
am 17.01.2011 - 13:38 Uhr
Welche Drupal version wird den Verwendet?
Edit: oh da kam mir einer zuvor
Aber ist das den wirklich ein Bug? Den schließlich gibt es doch checked und not checked. Wenn also nicht abgehakt wird ist es meiner Meinung nach auch schon Erfüllt. Oder behebt der Patch was anderes?
>> Welche Drupal version wird
am 17.01.2011 - 13:39 Uhr
>> Welche Drupal version wird den Verwendet?
Sorry, stimmt, ich vergaß - ich verwende die Version. 6.20.
Ein Bug
am 17.01.2011 - 13:42 Uhr
>> Das ist leider ein kleiner Bug...
...aber auch ein passende Lösung dafür - fein!
Danke für Deinen Tipp :-) , ich probiere das gleich mal aus und melde mich umgehend zurück.
Checkbox
am 17.01.2011 - 13:44 Uhr
Aber ist das den wirklich ein Bug?
Ja.
Folgendes Szenario: Du möchtest, dass ein Benutzer bei der Registrierung bestätigt, bestimmte Bedingungen gelesen zu haben. Technisch gesehen, muss er also die Checkbox anklicken, damit sie gesetzt ist.
In dem Fall hat das Feld den Wert "1" (oder
TRUE
). Wenn die Checkbox nicht gesetzt ist, hat das Feld den Wert "0" (bzw.FALSE
). Die Validierungsfunktion prüft jetzt jedoch nicht, ob ein erforderliches Feld des Typs "checkbox" den Wert "0" (== "nicht gesetzt") hat, sondern ob das Feld überhaupt einen Wert hat. Und da "0" ein Wert ist, ist das Feld in den Augen von Drupal auch gesetzt. Somit ist "required" wirkungslos.Das Modul fügt nun eine zusätzliche Validierung hinzu, mit der nicht gesetzte Checkboxen als genau das erkannt werden: "nicht gesetzt" und somit gibt es bei "required" einen Fehler.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Super!
am 17.01.2011 - 13:57 Uhr
>> ...und sich in früheren Versionen mit dem Modul Checkbox Validate umgehen lässt.
Danke stBorchert, das hat für mich das Problem gelöst.
Viele Grüße
Anoa