pbender
I'm new here

Regeln VISIBLE und VALIDATION

Jump to solution

Hallo zusammen,

ich habe in meinem Formular ein Logik, um Eingabefelder abhängig von einem CMS_INPUT_TOGGLE ein- bzw. auszublenden. Dieses funktioniert auch wunderbar. Nun möchte ich die Validierung der Felder nur aktivieren, wenn diese auch sichtbar sind. Mein Ansatz ist eine Vorbedingung mit IF zu definieren:

     <ON_SAVE>

        <IF>

            <PROPERTY source="st_date" name="VISIBLE"/>

        </IF>

        <WITH>

            <AND>

                <PROPERTY source="st_date" name="VISIBLE"/>

                <NOT>

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

                </NOT>

            </AND>

        </WITH>

        <DO>

            <VALIDATION>

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

                <MESSAGE lang="*" text="Das Datum darf nicht leer sein!"/>

            </VALIDATION>

        </DO>

    </ON_SAVE>

Der Validierungsfehler wird trotzdem angezeigt, obwohl das zugehörige Feld nicht sichtbar ist. Das Abspeichern ist möglich!

screen.JPG

Edit: Zusätzliche Frage zu der Validierung. Wie kann ich überprüfen, ob ein Datum in der Zukunft liegt?

Danke für eure Unterstützung

Viele Grüße

Philipp

0 Kudos
1 Solution

Accepted Solutions
jan-tilo
I'm new here

Hallo Philipp,

da Du die IF Abfrage eingeführt hast, wird der Rest der Regeln ja nicht ausgeführt, falls das Feld nicht sichtbar ist. Somit ändert sich auch das zuvor berechnete Ergebnis des WITH Teils nicht.

Du musst die Regel so umbauen, dass die Prüfung ob das Feld sichtbar ist, Teil des Ergebnisses von WITH wird.

Soll heißen, wenn das Feld nicht sichtbar ist, muss das Ergebniss von WITH immer TRUE sein.

Viele Grüße

Jan Tilo

View solution in original post

0 Kudos
3 Replies
jan-tilo
I'm new here

Hallo Philipp,

da Du die IF Abfrage eingeführt hast, wird der Rest der Regeln ja nicht ausgeführt, falls das Feld nicht sichtbar ist. Somit ändert sich auch das zuvor berechnete Ergebnis des WITH Teils nicht.

Du musst die Regel so umbauen, dass die Prüfung ob das Feld sichtbar ist, Teil des Ergebnisses von WITH wird.

Soll heißen, wenn das Feld nicht sichtbar ist, muss das Ergebniss von WITH immer TRUE sein.

Viele Grüße

Jan Tilo

0 Kudos

Hallo Jan Tilo,

danke für den Hinweis. Nun funktioniert die Validierung wie gewünscht.

Viele Grüße

Philipp

0 Kudos

Hallo,

hierzu ein Hinweis: Die Reihenfolge in der die Regeln ausgewertet werden ist nicht unbedingt mit der Reihenfolge ihrer Definition identisch. Von daher würde ich von der Verwendung einer per Regel gesetzten Eigenschaft in einem WITH eher abraten, auch wenn es (im Moment) zu funktionieren scheint.

Viele Grüße

Michael

0 Kudos