Search the FirstSpirit Knowledge Base
Hallo zusammen,
wir wollen Rules erstellen, die validieren, ob ein Element in der generierten Sprache ausgefüllt wurde.
Wird also eine Sprache, im Screen anbei DE, nicht generiert, sollte das Formular dort auch nicht validiert werden.
Setzt man die Felder auf "allowEmpty='no'" wird das Form trotzdem in allen Sprachen validiert.
Hat dazu jemand eine Idee?
VG
Thomas
Hallo Thomas,
auf Seitenebene kannst du das in den Rules, über das Attribut "TRANSLATED" machen. Auf Absatzebene über das Attribut "INLCUDED".
Die Variante über "allowEmpty=no" direkt im Formular sollte man, aus genau dem von die beschriebenen Verhalten, nicht mehr verwenden! (Meiner Meinung nach ein Bug, man könnte es aber auch als Feature bezeichnen. 😉 )
Du kannst die Validierung also in etwa wie folgt, wenn du prüfen willst ob ein Absatz in der jeweiligen Sprache inkludiert ist und dann die Eingabefelder als Pflichtfeld setzten willst:
<RULES>
<RULE>
<WITH>
<NOT>
<AND>
<PROPERTY name="INCLUDED" source="#global"/>
<PROPERTY name="EMPTY" source="st_boxName"/>
</AND>
</NOT>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_boxName"/>
<MESSAGE lang="*" text="The Element must not be empty!"/>
</VALIDATION>
</DO>
</RULE>
</RULES>
Oder so wenn du prüfen willst ob die gesamte Seite in der jeweiligen Sprache übersetzt ist und in Abhängigkeit davon Felder als Pflichtfeld markieren willst:
<RULES>
<RULE>
<WITH>
<NOT>
<AND>
<PROPERTY name="TRANSLATED" source="#global"/>
<PROPERTY name="EMPTY" source="st_boxName"/>
</AND>
</NOT>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_boxName"/>
<MESSAGE lang="*" text="The Element must not be empty!"/>
</VALIDATION>
</DO>
</RULE>
</RULES>
Siehe hierzu auch: Online Dokumentation FirstSpirit V5.2 - Eigenschaft TRANSLATED und Online Dokumentation FirstSpirit V5.2 - Eigenschaft INCLUDED
Grüße
Sandro
Hallo Thomas,
auf Seitenebene kannst du das in den Rules, über das Attribut "TRANSLATED" machen. Auf Absatzebene über das Attribut "INLCUDED".
Die Variante über "allowEmpty=no" direkt im Formular sollte man, aus genau dem von die beschriebenen Verhalten, nicht mehr verwenden! (Meiner Meinung nach ein Bug, man könnte es aber auch als Feature bezeichnen. 😉 )
Du kannst die Validierung also in etwa wie folgt, wenn du prüfen willst ob ein Absatz in der jeweiligen Sprache inkludiert ist und dann die Eingabefelder als Pflichtfeld setzten willst:
<RULES>
<RULE>
<WITH>
<NOT>
<AND>
<PROPERTY name="INCLUDED" source="#global"/>
<PROPERTY name="EMPTY" source="st_boxName"/>
</AND>
</NOT>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_boxName"/>
<MESSAGE lang="*" text="The Element must not be empty!"/>
</VALIDATION>
</DO>
</RULE>
</RULES>
Oder so wenn du prüfen willst ob die gesamte Seite in der jeweiligen Sprache übersetzt ist und in Abhängigkeit davon Felder als Pflichtfeld markieren willst:
<RULES>
<RULE>
<WITH>
<NOT>
<AND>
<PROPERTY name="TRANSLATED" source="#global"/>
<PROPERTY name="EMPTY" source="st_boxName"/>
</AND>
</NOT>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_boxName"/>
<MESSAGE lang="*" text="The Element must not be empty!"/>
</VALIDATION>
</DO>
</RULE>
</RULES>
Siehe hierzu auch: Online Dokumentation FirstSpirit V5.2 - Eigenschaft TRANSLATED und Online Dokumentation FirstSpirit V5.2 - Eigenschaft INCLUDED
Grüße
Sandro