[gelöst] Rules, Inhaltstyp soll bei entsprechenden Bedingungen nicht gespeichert werden
am 08.08.2011 - 10:07 Uhr in
Hallo zusammen,
ich beschäftige mich gerade mit Rules und stocke gerade etwas (Drupal 6.22 und Rules 6.x-1.22)
Ich habe einen Inhaltstyp "Auftrag "erstellt. Hier können Kunden eines Transportunternehmens ihre Transportaufträge eingeben.
Es besteht die Möglichkeit ein Feld mit der Telefonnummer des Ansprechpartners beim Empfänger auszufüllen. Die ist nicht immer bekannt, es kann also kein Pflichtfeld sein.
Außerdem gibt es die Möglichkeit ein Feld "eigenhändig" anzuklicken. das bedeutet, dass die Fracht direkt bei einer bestimmten Person abgegeben werden muss.
In dem Falle, dass die Fracht eigenhändig abgegeben werden soll, muss natürlich eine Telefonnummer hinterlegt sein, falls Rückfragen sind, etc.
Ich habe nun eine Rule angelegt, die überprüft, ob das Feld "Telefonnummer" ausgefüllt ist, wenn das Feld "eigenhändig" angeklickt ist. Ist dies nciht der Fall, gibt es eine Systemmeldung an den User (Bitte füllen Sie das Feld aus, usw.)
Gleichzeitig soll der Inhaltstyp aber auch nicht gespeichert, sondern weiter zur Bearbeitung im Bearbeiten-Modus gelassen werden. Das kriege ich irgendwie nicht hin. Hat jemand eine Idee, welche Action für "speichere den Beitrag nicht, sondern belasse ihn im Bearbeiten-Modus" nötig ist.
Für Hinweise tausend Dank.
- Anmelden oder Registrieren um Kommentare zu schreiben
hook_nodeapi oder validation-Handler
am 09.08.2011 - 21:34 Uhr
Hallo.
Das ist mit [do:rules Rules] nicht möglich. [do:rules Rules] greift erst nach dem Speichern eines Nodes ein, kann dies also nicht verhindern.
So wie Du das schilderst, klingt das ganz stark nach einen selbst gebauten Modul mit [api:hook_nodeapi:6] ($op = 'validate') oder einem zusätzlichen validate-Handler für das Formular (hinzufügbar mittels [api:hook_form_alter:6].
Damit kannst Du dann auf die Eingaben reagieren und im Fehlerfall reagieren.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Validierung mit Java
am 15.08.2011 - 08:56 Uhr
Vielen Dank für die Antwort, ich hab´s mir ja fast gedacht, habe aber etwas gefunden, was funktionieren könnte.
http://www.lausch-online.de/content/validierung-von-formularfelder-cck-o...
Ich geb´Laut, wenn ich es eingebaut habe.
Grüße - Joachim
Lehre Denken - nicht Gedachtes
Also ich persönlich würde
am 15.08.2011 - 10:35 Uhr
Also ich persönlich würde Formular-Eingaben niemals mit jQuery validieren. Da muss der Benutzer nur JavaScript deaktivieren oder NoScript verwenden und schon hast du ein fettes Problem, weil die Felder dann überhaupt nicht mehr geprüft werden.