Questions & Answers

SOLVED
Anonymous
Not applicable

Validation bei unsichtbarem Feld entfernen

Jump to solution

Hallo,

ich habe eine Vorlage die wie folgt aussieht:

vp_highlight_form.png

Wenn beim der Radiobutton "Nur Bilder wechseln" gewรคhlt ist, dann soll das Feld ein Pflichtfeld sein, wenn auf "รœberschriften, Links ..." gewechselt wird, dann erscheint unter Basis ein anderer Inhalt (Viewportรผberschrift erscheint nicht mehr). Die Fehlermeldung fรผr die nicht gefรผllte รœberschrift bleibt aber und unterbindet ein Speichern. Ich vermute, dass die gesetzte Validation wieder "unsetten" muss, weis aber nicht wie.


Hier noch die Regel:

<ON_SAVE>

  <IF>

   <AND>

    <EQUAL>

     <PROPERTY source="#global" name="STORETYPE"/>

     <TEXT>pagestore</TEXT>

    </EQUAL>

    <!-- global property: INCLUDED -->

    <PROPERTY source="#global" name="TRANSLATED"/>

    <!-- /global property: INCLUDED -->   

   </AND>

  </IF>

  <WITH>

   <AND>

    <NOT>

     <EQUAL>

               <PROPERTY source="st_explore_switch_type" name="ENTRY"/>

               <TEXT>only_pictures</TEXT>

              </EQUAL>

    </NOT>

    <NOT>

     <PROPERTY source="st_headline" name="EMPTY"/>

    </NOT>

   </AND>

  </WITH>

  <DO>

   <VALIDATION>

    <PROPERTY source="st_headline" name="VALID"/>

    <MESSAGE lang="*" text="No content provided!"/>

    <MESSAGE lang="DE" text="Es wurde kein Inhalt erfasst!"/>

   </VALIDATION>

  </DO>

</ON_SAVE>

1 Solution

Accepted Solutions
StefanSchulz
I'm new here

Hallo,

wenn ich mich nicht tรคusche, sollte das kein AND sondern ein OR sein, damit deine Anforderung erfรผllt ist.

Beste GrรผรŸe

Stefan

View solution in original post

0 Kudos
4 Replies
StefanSchulz
I'm new here

Hallo,

wenn ich mich nicht tรคusche, sollte das kein AND sondern ein OR sein, damit deine Anforderung erfรผllt ist.

Beste GrรผรŸe

Stefan

0 Kudos
Anonymous
Not applicable

Danke fรผr die schnelle Antwort. Mir ist nur nicht ganz klar wieso das mit dem OR hier funktioniert. Mit dem OR prรผf ich doch jetzt eigentlich ob der richtige Radiobutton geklickt ist oder ob das Feld leer ist und wenn eins zutrifft kommt die Warnung. Wenn ich das Feld leer lasse und den falschen Button wรคhle wรคre die Abfrage doch eigentlich immer noch wahr und die Meldung sollte trotzdem kommen.

0 Kudos

In der Regel wird der Validierungsstatus des Gadgets gesetzt, nicht der invalide Status. Am besten einfach immer auf schreiben, wann die Eingabe valide sein soll und dies dann in die Regel umsetzen.

Wรคre hier fรผr st_headline valide wenn:

1. Modus ist only_pictures, dann darf st_headline nicht leer sein.

2. Modus ist nicht only_pictures.

Also:

nicht(only_pictures)  oder  ( only_pictures und nicht(leer(st_headline)) ).

Lรคsst sich dann verkรผrzen auf

nicht(only_pictures)  oder  nicht(leer(st_headline)).

Alternativ:

nicht ( only_pictures und leer(st_headline) )

Beste GrรผรŸe

Stefan

mbergmann
Crownpeak employee

Hallo,

unabhรคngig von Stefans Antwort hat die Regel noch ein anderes kleines Problem das auftreten kann:

Das TRANSLATED wird im IF geprรผft was dazu fรผhren mรผsste, dass ein Entfernen des รœbersetzt-Hakens bei vorher ungรผltigem Wert den Gรผltigkeitsstatus nicht wieder auf "gรผltig" setzt - was das angeht funktioniert die Regel quasi nur "in einer Richtung".

Hintergrund: Sobald das IF ein false ergibt wird die Regelausfรผhrung abgebrochen, dadurch wird sich der Gรผltigkeitsstatus bei nicht gesetztem TRANSLATED-Haken nicht รคndern lassen, also auch nicht von ungรผltig auf gรผltig. Das fรคllt allerdings nur bei einer bestimmten Editier-Reihenfolge auf weil der "Startwert" erstmal "gรผltig" ist. Dadurch scheinen oft auch Regeln zu funktionieren die den Status nur auf "ungรผltig" setzen kรถnnen.

Im IF sollten im Zusammenhang mit einer Validierung รผblicherweise keine vom Redakteur รคnderbaren Werte bzw. Eigenschaften benutzt werden.

D.h. die TRANSLATED-Prรผfung sollte mit in das WITH integriert werden.

Viele GrรผรŸe

MIchael

Type a product name