- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Rules: EMPTY-Abfrage bei Checkbox
Hallo,
ich bilde eine Regel ab:
Formular:
<CMS_MODULE>
<CMS_INPUT_TOGGLE name="st_enable" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Enable Element in this language"/>
</LANGINFOS>
</CMS_INPUT_TOGGLE>
<CMS_GROUP name="st_content">
<CMS_INPUT_TEXT name="st_text">
<LANGINFOS>
<LANGINFO lang="*" label="Text, mandatory"/>
</LANGINFOS>
</CMS_INPUT_TEXT>
</CMS_GROUP>
</CMS_MODULE>
Regel:
<RULES>
<ON_EVENT>
<WITH>
<NOT>
<PROPERTY name="EMPTY" source="st_enable"/>
</NOT>
</WITH>
<DO>
<PROPERTY name="VISIBLE" source="#form.st_content"/>
</DO>
</ON_EVENT>
<ON_SAVE>
<IF>
<AND>
<NOT>
<PROPERTY name="EMPTY" source="st_enable"/>
</NOT>
</AND>
</IF>
<WITH>
<AND>
<NOT>
<PROPERTY name="EMPTY" source="st_text"/>
</NOT>
</AND>
</WITH>
<DO>
<VALIDATION>
<PROPERTY name="VALID" source="st_text"/>
<MESSAGE lang="*" text="The editor must not be empty!"/>
<MESSAGE lang="DE" text="Der Editor darf nicht leer sein!"/>
</VALIDATION>
</DO>
</ON_SAVE>
</RULES>
Sobald ich aber den Wert der Checkbox einmal gesetzt habe reagiert sie nicht mehr auf das unchecken, die Regel aktualisiert sich nicht und die CMS_GROUP bleibt sichtbar. Was mache ich falsch?
Danke euch,
Markus
- Labels:
-
Developers
-
Knowledgebase
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich glaube doch. Aber die Werteermittlung ist verkehrt. Du benรถtigst wohl ein not(st_enable) or not(st_text.empty).
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Markus,
das Problem ist die Werteermittlung fรผr den Sichtbarkeitszustand. Das Toggle ist nur einmal EMPTY, und zwar zu Anfang dessen Lebenszeit, wenn noch kein Wert ausgewรคhlt ist. Hier wird die Abfrage des VALUE des Toggle benรถtigt. Allerdings wird der Leerwert nicht als "falsch" ausgewertet, deshalb muss eine Kombination her:
<RULES>
<ON_EVENT>
<WITH>
<AND>
<NOT>
<PROPERTY name="EMPTY" source="st_enable"/>
</NOT>
<PROPERTY name="VALUE" source="st_enable"/>
</AND>
</WITH>
<DO>
<PROPERTY name="VISIBLE" source="#form.st_content"/>
</DO>
</ON_EVENT>
</RULES>
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Servus Stefan,
danke fรผr deine Antwort. Das lรถst das Sichtbar/Verstecken-Problem. Leider ist damit die Validierung noch nicht erfรผllt:
<RULES>
<ON_EVENT>
<WITH>
<AND>
<NOT>
<PROPERTY name="EMPTY" source="st_enable"/>
</NOT>
<PROPERTY name="VALUE" source="st_enable"/>
</AND>
</WITH>
<DO>
<PROPERTY name="VISIBLE" source="#form.st_content"/>
</DO>
</ON_EVENT>
<ON_SAVE>
<IF>
<AND>
<NOT>
<PROPERTY name="EMPTY" source="st_enable"/>
</NOT>
<PROPERTY name="VALUE" source="st_enable"/>
</AND>
</IF>
<WITH>
<AND>
<PROPERTY name="VALUE" source="st_enable"/>
<NOT>
<PROPERTY name="EMPTY" source="st_text"/>
</NOT>
</AND>
</WITH>
<DO>
<VALIDATION>
<PROPERTY name="VALID" source="st_text"/>
<MESSAGE lang="*" text="The editor must not be empty!"/>
<MESSAGE lang="DE" text="Der Editor darf nicht leer sein!"/>
</VALIDATION>
</DO>
</ON_SAVE>
</RULES>
Was mache ich hier noch falsch?
Danke und Gruร
Markus
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die Validierung wird laut den Regeln nur ausgefรผhrt, wenn der IF-Teil erfรผllt ist. Das verhรคlt sich wie ein IF in allen รผblichen Programmiersprachen. Statt des IF-Teils muss die Bedingung fรผr deinen Fall in die Werte-Ermittlung (WITH-Teil) eingehen.
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Leider รคndert das nichts daran, dass das unchecken die Validierung nicht neu anstรถรt.Auch wenn ich die Ausblendelogik rausnehme wird der Status beim Unchecken nicht aktualisiert, das Element ist nicht speicherbar.
Gruร
Markus
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich glaube doch. Aber die Werteermittlung ist verkehrt. Du benรถtigst wohl ein not(st_enable) or not(st_text.empty).
Beste Grรผรe
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
wie mache ich ein ODER in den Rules? Ich kenne nur AND.
Gruร
Markus
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mit OR
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das war jetzt peinlich. Danke
Es funktioniert! Vielen Dank an alle.
LG
Markus
<RULES>
<ON_EVENT>
<WITH>
<AND>
<NOT>
<PROPERTY name="EMPTY" source="st_enable"/>
</NOT>
<PROPERTY name="VALUE" source="st_enable"/>
</AND>
</WITH>
<DO>
<PROPERTY name="VISIBLE" source="#form.st_content"/>
<PROPERTY name="VISIBLE" source="st_text"/>
</DO>
</ON_EVENT>
<ON_SAVE>
<IF>
<AND>
<NOT>
<PROPERTY name="EMPTY" source="st_enable"/>
</NOT>
</AND>
</IF>
<WITH>
<OR>
<NOT>
<PROPERTY name="VALUE" source="st_enable"/>
</NOT>
<PROPERTY name="VALUE" source="st_text"/>
</OR>
</WITH>
<DO>
<VALIDATION>
<PROPERTY name="VALID" source="st_text"/>
<MESSAGE lang="*" text="The editor must not be empty!"/>
<MESSAGE lang="DE" text="Der Editor darf nicht leer sein!"/>
</VALIDATION>
</DO>
</ON_SAVE>
</RULES>

