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

FAPI - Validierungsfehler bei Feld anzeigen

Eingetragen von manuelBS (330)
am 01.09.2009 - 13:19 Uhr in
  • Module
  • Drupal 6.x

Hi, gibt es eine Möglichkeit, beim Validieren von Formularen die Form-Fehler nicht oben in einer Liste anzuzeigen sondern diese bei den entsprechenden Feldern stehen zu haben?

Grüße
Manuel

‹ Login Block verschwunden [gelöst] Link in Gruppen einfügen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

jep, dazu einfach in

Eingetragen von dawehner (2639)
am 02.09.2009 - 11:53 Uhr

jep, dazu einfach in form_set_error den Parameter 'name' benutzten.

s.H. http://api.drupal.org/api/function/form_set_error
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das geht meiner Meinung nach

Eingetragen von manuelBS (330)
am 02.09.2009 - 12:05 Uhr

Das geht meiner Meinung nach nicht. Es wir dann das Feld zwar Rot markiert, der Text steht aber immer noch oben in den Messages
______________________________________
Softwareentwicklung / Webdesign BrightSolutions

______________________________________
Drupalentwicklung und Beratung, Drupal Business Application Framework

  • Anmelden oder Registrieren um Kommentare zu schreiben

Fehlermeldungen wie

Eingetragen von quiptime (4972)
am 02.09.2009 - 12:14 Uhr

Fehlermeldungen wie Validierungsfehler sind Drupal Messages. Alle Messages zeigt Drupal an der gleichen Position. Egal ob Error, Warning oder Status.

Ich denke auch das man nicht so ohne Weiteres Validierungs-Error-Messages an den jeweiligen Formfeldern anzeigen kann.

Wobei dies eigentlich nicht die Frage ist. Das Ganze ist eher eine Frage der Usability. Wenn auf der gesamten Website alle Messages an der gleichen Position angezeigt werden ist es fuer mich fraglich ob man bei Validierungs-Error-Messages diese Regel brechen sollte.

------------------------
Quiptime Group

Da geht noch was.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Fehlermeldungen

Eingetragen von stBorchert (6003)
am 02.09.2009 - 13:06 Uhr

Abgesehen von der Benutzbarkeit und anderen Dingen funktioniert das vielleicht so:
* kleines Modul
* hook_form_alter() und dort eine eigene Validierungsfunktion an das Formular hängen (zusätzlich, nicht die Bestehende ersetzen!)
* in der Validierungsfunktion in jedem Element des Formulars ($form) nachschauen, ob da ein Fehler aufgetreten ist (mal im Element-Array schauen, da müsste es "error" geben) und dann die entsprechende Meldung aus $_SESSION['messages'] an das Feld packen.

(definitiv nicht funktionierender) Code:

<?php
function mymodule_FORM_ID_validate(&$form, &$form_state) {
 
// innerhalb der Schleife
 
$index++
 
$form[$elementname]['#prefix'] = '<div class="message message-error">' . $_SESSION['messages']['error'][$index] . '</div>';
}
?>

so ungefähr bekommt man das hin.
Und nicht vergessen, die Messages aus der Session rauszuschmeissen, sonst werden sie oben auch nochmal angezeigt!

hth,

 Stefan

directly from brain to keyboard

--
sei nett zu Deinem Themer

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Na ja ich finde bei

Eingetragen von manuelBS (330)
am 02.09.2009 - 13:07 Uhr

Na ja ich finde bei Formularfeldern sollte das schon beim entsprechenden Feld stehen, gerade wenn es eben ein sehr langes formular ist. Das ist in meinen Augen auf jeden Fall benutzerfreundlicher. Aber darüber lässt sich sicher streiten.
Ich bastele gerade eine Lösung zurecht und werde dazu eine Anleitung schreiben und sie dann hier veröffentlich.
______________________________________
Softwareentwicklung / Webdesign BrightSolutions

______________________________________
Drupalentwicklung und Beratung, Drupal Business Application Framework

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es gobt ein Mpodul

Eingetragen von dendie81 (13)
am 02.09.2009 - 13:27 Uhr

Hallo,

genau für diesen Zweck gibt es denke ich das Modul Inline Messages. Habe es selbst noch nicht ausprobiert, die Beschreibung jedoch sieht vielversprechend aus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es ist schon unglaublich was

Eingetragen von quiptime (4972)
am 02.09.2009 - 13:32 Uhr

Es ist schon unglaublich was es so an Drupalmodulen gibt.

Schade das die Demosite von Inline Errors dies nicht demonstriert sondern genau das macht was Drupals uebliche Praxis ist - die Error messages oben platzieren.

------------------------
Quiptime Group

Da geht noch was.

  • Anmelden oder Registrieren um Kommentare zu schreiben

http://drupalmodules.com/

Eingetragen von dendie81 (13)
am 02.09.2009 - 13:44 Uhr

Und bei der Suche hilft einem die Seite http://drupalmodules.com ungemein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Module scheint gut zu

Eingetragen von manuelBS (330)
am 02.09.2009 - 13:55 Uhr

Das Module scheint gut zu sein. Allerdings nur mit Javascript. Ich schaue es mir mal an.
______________________________________
Softwareentwicklung / Webdesign BrightSolutions

______________________________________
Drupalentwicklung und Beratung, Drupal Business Application Framework

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe es mal getestet,

Eingetragen von manuelBS (330)
am 02.09.2009 - 14:02 Uhr

Ich habe es mal getestet, das verschiebt die Nachricht nicht zu den Feldern. Habe zwar nicht lange rumprobiert, aber es scheint als würden die Messages einfach an eine andere Stelle verschoben werden (bei mir Rechts im Bild...)
______________________________________
Softwareentwicklung / Webdesign BrightSolutions

______________________________________
Drupalentwicklung und Beratung, Drupal Business Application Framework

  • Anmelden oder Registrieren um Kommentare zu schreiben

... nachlässige Veröffentlichung eines contributed Modules

Eingetragen von quiptime (4972)
am 02.09.2009 - 14:19 Uhr

Hast Du das jQuery Plugin "ScrollTo" aktiviert?

Es wird vom Modul inline_errors.module verwendet

define('SCROLLTO_PATH_DEFAULT', drupal_get_path('module', 'inline_errors') .'/js/jquery.scrollTo-1.4.0-min.js');

aber es befindet sich weder im genannten JS Modul Ordner noch sagt die README.txt etwas dazu.

Aus meiner Sicht eine etwas nachlässige Veröffentlichung eines contributed Modules.

PS

Es gibt noch ein Issue.

Inline Errors schrieb

Inline Errors does not work with the core Poll module

------------------------
Quiptime Group

Da geht noch was.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Lizensbestimmungen des

Eingetragen von manuelBS (330)
am 02.09.2009 - 15:18 Uhr

Die Lizensbestimmungen des Jquery-Modules verbieten es wohl, dass es mit anderen Modulen zum Download bereitgestellt wird, daher muss man es auf der Originalseite herunterladen.
Aber dennoch funktioniert es irgendwie nicht auf anhieb wie es soll...das JQueryPlugin wurde erkannt und befindet sich ander richigen Stelle.
______________________________________
Softwareentwicklung / Webdesign BrightSolutions

______________________________________
Drupalentwicklung und Beratung, Drupal Business Application Framework

  • Anmelden oder Registrieren um Kommentare zu schreiben

Für alle, die diese

Eingetragen von manuelBS (330)
am 03.09.2009 - 13:08 Uhr

Für alle, die diese Funktion evtl auch Sinnvoll finden habe ich eine kurze Anleitung und ein Beispielmodul geschrieben. Das ganze findet Ihr unter

Drupal FAPI: Formularfehler unter Feldern anzeigen

Bei Frage gerne melden.
______________________________________
Softwareentwicklung / Webdesign BrightSolutions

______________________________________
Drupalentwicklung und Beratung, Drupal Business Application Framework

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal 10 und Thema Bartik
  • Wie in hook_views_query_alter() einen join auf Tabelle url_alias durchführen?
  • Strukturierte Daten Fehler
  • fbsmp\plugins Hilfe
  • Migration über feeds von D6 auf D8
  • Theme Classy sei installiert, ist aber nicht bei Themes
  • Composer 1 zu Composer 2
  • Bitte um Einschätzung: Upgrade von Drupal 7 auf 9
  • Scroll zu View-Ergebnissen nachdem Filter angewendet ist
  • SQL-Injection? User hat sich Zugriff aufs Admin-Konto geholt und Änderungen vorgenommen.
  • [gelöst] Persönliches Kontaktformular, oder interne User Nachrichten
  • Webform Progress Symbol (Loading icon)?
Weiter

Neue Kommentare

  • Superfish
    vor 1 Tag 2 Stunden
  • Auch für superfish gibt es
    vor 1 Tag 6 Stunden
  • Versuchs mal mit
    vor 1 Tag 6 Stunden
  • Drupal 10 läuft
    vor 1 Tag 7 Stunden
  • Da wirst Du den Bug wohl selbst beheben müssen
    vor 3 Tagen 2 Stunden
  • Gleiches Problem: bootstrap 4
    vor 5 Tagen 3 Stunden
  • Da wirst Du den Bug wohl
    vor 5 Tagen 6 Stunden
  • Immer noch composer 1 zu 2
    vor 5 Tagen 21 Stunden
  • Beziehung Branche Adresse!
    vor 4 Tagen 7 Stunden
  • Sorry, dann gab es das bei
    vor 5 Tagen 23 Stunden

Statistik

Beiträge im Forum: 248398
Registrierte User: 19752

Neue User:

  • Aman_Musani
  • Dustinjex
  • Rickywap

» Alle User anzeigen

User nach Punkten sortiert:
wla9289
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 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