Rules - Vergleich Wert RadioButton - Catalog size
Author: ncbruckner
Publication Date: 1/10/2020 11:17
Hallo,
ich habe hier die Anforderung, dass der Benutzer per RadioButton auswählen können soll, ob er 1, 2, ... 5 Elemente anzeigen will. Sind mehr Elemente gepflegt als angezeigt werden sollen, sollen die ersten x Elemente angezeigt werden und eine Warnung angezeigt werden.
Alle Versuche sind bisher daran gescheitert, dass der Value eines RadioButtons anscheinend an String ist und der Vergleich auf Größe natürlich eine Zahl erfordert. Gibt es irgendeine Möglichkeit, das zum Laufen zu kriegen? Ich kann im Notfall natürlich auf ein numerisches Feld ausweichen um die Anzahl der Elemente zu definieren, aber gewünscht wird eigentlich eben diese Radiobox.
Viele Grüße
Nina
-
Author: mbergmann - 1/12/2020 6:49
Hallo Nina,
Deine Vermutung was die Ursache angeht stimmt: Der Wert (bzw. genauer: der ENTRY) einer optionsbasierten EK ist immer ein String, man braucht aber eigentlich eine Zahl.
Das einfachste ist hier tatsächlich, die fünf Varianten "auszuformulieren". Wenn der Hinweistext für alle fünf Werte gleich sein soll, kommst Du hier mit einer Regel aus, ansonsten müsstest Du das in mehrere aufteilen.
Wenn Dein FS_CATALOG "st_elements" und Dein Radiobutton "st_maxEntries" heißt, funktioniert folgende Regeldefinition:
<RULES>
<RULE>
<WITH>
<NOT>
<OR>
<AND>
<EQUAL>
<PROPERTY name="ENTRY" source="st_maxEntries"/>
<TEXT>1</TEXT>
</EQUAL>
<GREATER_THAN>
<PROPERTY name="SIZE" source="st_elements"/>
<NUMBER>1</NUMBER>
</GREATER_THAN>
</AND>
<AND>
<EQUAL>
<PROPERTY name="ENTRY" source="st_maxEntries"/>
<TEXT>2</TEXT>
</EQUAL>
<GREATER_THAN>
<PROPERTY name="SIZE" source="st_elements"/>
<NUMBER>2</NUMBER>
</GREATER_THAN>
</AND>
<AND>
<EQUAL>
<PROPERTY name="ENTRY" source="st_maxEntries"/>
<TEXT>3</TEXT>
</EQUAL>
<GREATER_THAN>
<PROPERTY name="SIZE" source="st_elements"/>
<NUMBER>3</NUMBER>
</GREATER_THAN>
</AND>
<AND>
<EQUAL>
<PROPERTY name="ENTRY" source="st_maxEntries"/>
<TEXT>4</TEXT>
</EQUAL>
<GREATER_THAN>
<PROPERTY name="SIZE" source="st_elements"/>
<NUMBER>4</NUMBER>
</GREATER_THAN>
</AND>
<AND>
<EQUAL>
<PROPERTY name="ENTRY" source="st_maxEntries"/>
<TEXT>5</TEXT>
</EQUAL>
<GREATER_THAN>
<PROPERTY name="SIZE" source="st_elements"/>
<NUMBER>5</NUMBER>
</GREATER_THAN>
</AND>
</OR>
</NOT>
</WITH>
<DO>
<VALIDATION>
<PROPERTY name="VALID" source="st_elements"/>
<MESSAGE lang="*" text="Achtung - es werden nicht alle Elemente angezeigt"/>
</VALIDATION>
</DO>
</RULE>
</RULES>
Viele Grüße
Michael
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
1 commentaire