pearse-danker
I'm new here

<SCHEDULE> in Validierung-Regel verursacht Fehler bei ValidationAgent API

Hallo Community,

Folgendes Szenario:

Ein Pagetemplate hat unter Regeln folgende Validierung:

<ON_SAVE>

<SCHEDULE service="ProjectSettingsService" id="minCheck" delay="500">

<PARAM name="SERVICE_ACTION">

<TEXT>MIN</TEXT> 

</PARAM>

<PARAM name="INPUT_FIELD_1">

<TEXT>ps_header_desc_min_length</TEXT> 

</PARAM>

<PARAM name="INPUT_VALUE_1">

<PROPERTY source="pt_heading_description" name="VALUE"/> 

</PARAM>

</SCHEDULE>

<DO>

<VALIDATION>

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

<MESSAGE lang="*" text="Description is is too short"/>

</VALIDATION>

</DO>

</ON_SAVE>

Der Java-Client und WebEdit validieren die Regel einwandfrei und gibt die entsprechende Benachrichtigung an den Benutzer.

Nun muss die Validierung der Regeln auch in einem Release Workflow abgefragt werden um zu garantieren das nur valide Inhalte veröffentlicht werden können.

Wenn in dem Script jetzt auf dem ValidationAgent  entweder
validate(idProvider, ValidationAgent.ValidationScope.SAVE)

oder

validate(formData, language, ValidationAgent.ValidationScope.SAVE)

aufgerufen wird, ist result.isValid() immer true.

Egal in welchem Scope es ausgeführt wird und egal ob eine andere Regel im demselben Scope verletzt wurde.

Sobald die Regel mit SCHEDULE entfernt wird funktionieren alle anderen Regeln wieder normal und isValid() gibt bei Regelverletzungen wieder false zurück.

Hat jemand eine Idee woran es liegen konnte?

Grüße

Sebastian Pearse-Danker

0 Kudos
4 Replies
pearse-danker
I'm new here

Tut mir leid habe die technischen Daten vergessen:

FirstSpirit Client 5.0.424.59809

Server version: 5.0.424.59809

Memory: 181.02 of 494.94 Mbyte occupied

Java version: 1.6.0_30 32bit Sun Microsystems Inc.

Operating system: Windows 7 6.1 x86

0 Kudos

Hi,

die Validierung über API ist in gewissen Dingen eingeschränkt. Aus Gründen der garantierten Terminierung ist hier nur _ein_ Regellauf möglich, das heißt, es erfolgt keine Auswertung des Zustands nach einmaliger Anwendung aller Regeln. Analog wird hier kein Zugriff auf ValueServices gestattet und eine entsprechende Regel bei der Ausführung mit einem Log-Eintrag (LogLevel Debug) quittiert.

Sollte dieser Log-Eintrag fehlen, bitte als Fehler melden.

Gruß

Stefan

Hallo Stefan,

Danke für die Antwort. Das ist sehr ungünstig. Gibt es Möglichkeit dieses Problem zumindest einzuschränken?
Es ist ein ziemliches Problem das diese Regel nicht einfach ignoriert wird sondern der gesamten Scope(alle ON_SAVE Regeln) auf true setzt wird. Oder eventuell die Validierungs-Ergebnisse der ursprünglichen Validierung abfragen?

Grüße

Sebastian

0 Kudos

Das andere Regeln ignoriert werden, sollte aber nicht so sein. Wenn dem so ist, dies bitte entsprechend mit ausführlichen Informationen beim Helpdesk melden.

Gruß

Stefan

0 Kudos