Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

error div (Pflichtfeld) wird bei Checkbox nicht gesetzt?

Eingetragen von Ionit (1802)
am 05.04.2011 - 21:54 Uhr in
  • Views
  • Drupal 6.x

Hallo Freunde,

wenn man versucht, eine Node-Add-Form, mit nichtausgefüllten Pflichtfeldern, zu speichern, bekommt man eine Fehlermeldung angezeigt, und, die Pflichtfelder erhalten von Drupal ein error-Div verpasst, sodass das Feld hervorgehoben/markiert ist.

Wenn das Pflichtfeld allerdings ein CCK-Textfeld als Checkbox ist, wird dieses error-Div nicht gesetzt. Ist das CCK-Feld ein normales Textfeld oder ein Radio-Button, wird das Error-Div korrekt gesetzt - nur bei der Checkbox nicht.

Weiß zufällig jemand warum das so ist?

Das Problem ist ... "Vertical Tabs" überprüft jedes Feld nach diesem "error-Div" und zeigt gegebenenfalls den richtigen Tab an in dem das vergessene Pflichtfeld vorhanden ist, sodass der User sofort weiß wo er das Feld finden kann.

Wenn jetzt aber eine Checkbox als Pflichtfeld angegeben wurde, wird das error-div nicht gesetzt und Vertical Tabs kann den richtigen Tab nicht anzeigen, sodass der User durch alle Tabs durch muss um das Pflichtfeld finden zu können.

Wüsste hier eventuell jemand wie man dieses Problem gelöst bekommt?

Danke schonmal und schöne Grüße
Matthias

‹ [gelöst] Views - Hintergrundbild-Überlagerung verhindern wahr / unwahr ändern ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Siehe

Eingetragen von Tobias Bähr (4019)
am 05.04.2011 - 22:51 Uhr

Siehe http://drupal.org/project/checkbox_validate

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Tobias, Mensch - danke

Eingetragen von Ionit (1802)
am 05.04.2011 - 23:31 Uhr

Hallo Tobias,

Mensch - danke vielmals für den Hinweis auf das Modul. Ich suche hier seit über einer Stunde und ich buddelte mich gerade durch einen Thread mit 200(!) Beiträgen auf drupal.org. Puhhh ... und ein Modul wurde nirgends erwähnt und ich dachte, dass man das Problem mit "einer Zeile Code" selbst fixen muss ...

"Wenn man denkt es geht nichts mehr, kommt Tobias mit nem spitzen Modul-Tip daher" ;-)

Herzlichen Dank und schönen Abend noch
Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Tja - das Modul ist leider

Eingetragen von Ionit (1802)
am 06.04.2011 - 01:11 Uhr

Tja - das Modul ist leider doch nicht das Richtige.

Bei meinen Checkboxes war auch vorher schon

<span class="form-required" title="Dieses Feld wird benötigt.">*</span>

vorhanden. Das "form-required" ist fehlerfrei verfügbar - auch ohne Modul.

Mir geht es um das div-tag "error" - dieser div-tag wird von Drupal gesetzt wenn ein Pflichtfeld nicht ausgefüllt wurde und der User versucht das Add-Form zu speichern. Nach dem Speicherversucht wird das error-tag eingefügt class="form-radio error"

z.B.
<input type="radio" class="form-radio error" value="Kosten angeben" name="field_1_kosten1[value]" id="edit-field-1-kosten1-value-Kosten-angeben">

Wie oben erwähnt - wenn das CCK-Feld ein normales Textfeld oder ein Radio-Button ist, wird, nach dem Speichern (ohne alle Pflichtfelder auszufüllen), dieser error-tag gesetzt, handelt es sich aber um ein Checkbox-Pflichtfeld, wird dieser tag nicht gesetzt.

Ich brauche diesen tag aber auch für die Checkbox. Das muss ein bug im Core sein.

Grübel.

normales Text-Input-Feld:
<input type="text" class="form-text required error" id="edit-field-1-adresse-0-city" name="field_1_adresse[0][city]">
normales Text-Input-Feld:
<input type="radio" class="form-radio error" value="Kosten angeben" name="field_1_kosten1[value]" id="edit-field-1-kosten1-value-Kosten-angeben">
Checkbox (da wird kein error-tag gesetzt):
<input type="checkbox" class="form-checkbox" value="Frauen" id="edit-field-1-test-value-Frauen" name="field_1_test[value][Frauen]">

  • Anmelden oder Registrieren um Kommentare zu schreiben

Checkbox Validierung

Eingetragen von stBorchert (6003)
am 06.04.2011 - 07:39 Uhr

Hallo.

Ionit schrieb

...Das muss ein bug im Core sein...

Nein, defininitv nicht. Eine Checkbox hat exakt 2 gültige Werte: "1" und "0". Diese Werte sind beide gültig, dementsprechend kann eine Prüfung auf Erforderlichkeit per default nicht erkennen, ob Wert "0" gültig ist, oder (wie von Dir gewünscht) bedeutet, dass das Feld nicht gesetzt ist (es ist ja mit dem Wert "0" gesetzt).
[do:checkbox_validate Checkbox validate] ändert dieses Verhalten, indem es einfach festlegt, dass "0" mit "nicht gesetzt" gleichzusetzen ist.

Wenn nun bei fehlgeschlagener Validierung eine zusätzliche Klasse hinzugefügt werden soll, so muss dies das Modul übernehmen. Genauer gesagt die Funktion checkbox_validate_pre_render_checkbox(&$element).
Ergo: Patch für [do:checkbox_validate Checkbox validate] schreiben, der die Klasse hinzufügt und dann als neuen Issue für das Modul einstellen.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Stefan,danke für den

Eingetragen von Ionit (1802)
am 06.04.2011 - 13:40 Uhr

Hallo Stefan,

danke für den Hinweis.

Was ich aber nicht verstehe. Warum hat eine Checkbox als Wert "0" und "1" - ein Radio-Button aber scheinbar nicht? Ein Radio-Button kann doch auch Werte haben. Warum ist dann bei einem Radio-Button, wenn der Wert gesetzt wurde nicht "1" und wenn er nicht gesetzt wurde "0"? Beim Radio-Button wird die error-class ja korrekt gesetzt. Den Unterschied verstehe ich momentan nicht wirklich. Grübel.

Ich werde mich jetzt mal mit der Funktion checkbox_validate_pre_render_checkbox(&$element) auseinandersetzen aber mit "Modulen patchen" ist das bei mir so eine Sache. Da habe ich mich noch nicht heran gewagt und große Schwierigkeiten.

Da muss ich nun erstmal schauen wie man überhaupt die input-Felder ansprechen kann .... mal sehen ob ich das hinbekomme.

Trotzdem danke für die Hilfe.

Schöne Grüße
Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
Weiter

Neue Kommentare

  • Rollen
    vor 3 Tagen 16 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 9 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 1 Tag
  • melde mich mal wieder, da ich
    vor 9 Wochen 5 Tagen
  • Hey danke
    vor 9 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 1 Tag
  • In der entsprechenden View
    vor 11 Wochen 1 Tag

Statistik

Beiträge im Forum: 250237
Registrierte User: 20466

Neue User:

  • StevenEness
  • ocvk2810
  • marouane.blel

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 39 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association