sad_djeridi_ais
I'm new here

Content Creator und Rules

Hallo zusammen,

ich habe ein Problem. Ich habe ein Absatztemplate entwickelt mit onSave Rules in dem Kein Elemet leer sein darf.

Wenn man das Template im Content Creator im Inhatt füllt und ein Elemt vergisst und auf speichern klickt kommt eine Fehlermeldung,

dass das Elemet nicht leer sein darf. Das ist soweit in ordnung. Aber wenn man das Elemet dann befüllt bleibt der Speichern Button auf deaktiviert.

Habe ich vielleicht was vergessen?

<CMS_MODULE>

  <CMS_GROUP tabs="top">

    <CMS_GROUP>

      <LANGINFOS>

        <LANGINFO lang="*" label="Allgemein"/>

      </LANGINFOS>

      <CMS_INPUT_TEXT name="st_anwendung_name" hFill="yes" singleLine="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="Anwendungsname" description="Bitte geben Sie hier den Anwendungsname ein."/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

      <CMS_INPUT_DOM name="st_anwendung_beschreibung" hFill="yes" rows="10" useLanguages="no">

        <FORMATS>

          <TEMPLATE name="wichtig"/>

        </FORMATS>

        <LANGINFOS>

          <LANGINFO lang="*" label="Anwendungsbeschreibung" description="Bitte geben Sie hier die Anwendungsbeschreibung ein."/>

        </LANGINFOS>

      </CMS_INPUT_DOM>

      <CMS_INPUT_TEXT name="st_anwendung_hinweis" hFill="yes" singleLine="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="Anwendungshinweis (optional)" description="Bitte geben Sie hier den Anwendungshinweis ein. Der Hinweis wird in Rot unter dem Startbutton angezeigt."/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

    </CMS_GROUP>

    <CMS_GROUP name="st_technisch">

      <LANGINFOS>

        <LANGINFO lang="*" label="Technisch"/>

      </LANGINFOS>

      <CMS_INPUT_LINK name="st_anwendung_url" hFill="yes" useLanguages="yes">

        <LANGINFOS>

          <LANGINFO lang="*" label="Anwendung URL" description="Bitte geben Sie hier die Anwendung URL ein."/>

        </LANGINFOS>

        <LINKEDITORS>

          <LINKEDITOR name="url"/>

        </LINKEDITORS>

      </CMS_INPUT_LINK>

      <CMS_INPUT_TEXT name="st_vw_anwendung_id" hFill="yes" length="4" noBreak="yes" singleLine="no">

        <LANGINFOS>

          <LANGINFO lang="*" label="VW Anwendung ID" description="Bitte geben Sie hier die VW Anwendung ID ein."/>

        </LANGINFOS>

      </CMS_INPUT_TEXT>

      <CMS_INPUT_CHECKBOX name="st_anwendung_spezial" noBreak="yes">

        <ENTRIES>

          <ENTRY value="eParts">

            <LANGINFOS>

              <LANGINFO lang="*" label="eParts-DFS"/>

            </LANGINFOS>

          </ENTRY>

        </ENTRIES>

        <LANGINFOS>

          <LANGINFO lang="*" label="Spezielle Anwendung"/>

        </LANGINFOS>

      </CMS_INPUT_CHECKBOX>

    </CMS_GROUP>

  </CMS_GROUP>

</CMS_MODULE>

<RULES>

          <RULE when="ONSAVE">

                    <WITH>

                              <NOT>

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

                              </NOT>

                    </WITH>

                    <DO>

                              <VALIDATION scope="save">

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

                                        <MESSAGE lang="*" text="Bitte geben Sie den Anwendungsname ein"/>

                              </VALIDATION>

                    </DO>

          </RULE>

          <RULE when="ONSAVE">

                    <WITH>

                              <NOT>

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

                              </NOT>

                    </WITH>

                    <DO>

                              <VALIDATION scope="save">

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

                                        <MESSAGE lang="*" text="Bitte geben Sie die Anwendungsbeschreibung ein"/>

                              </VALIDATION>

                    </DO>

          </RULE>

          <RULE when="ONSAVE">

                    <WITH>

                              <MATCHES regex="^\d*$">

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

                              </MATCHES>

                    </WITH>

                    <DO>

                              <VALIDATION scope="save">

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

                                        <MESSAGE lang="*" text="Bitte geben Sie nur Zahlen ein."/>

                              </VALIDATION>

                    </DO>

          </RULE>

          <RULE when="ONSAVE">

                    <WITH>

                              <OR>

                                        <AND>

                                                  <NOT>

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

                                                  </NOT>

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

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

                                        </AND>

                                        <AND>

                                                  <NOT>

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

                                                  </NOT>

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

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

                                        </AND>

                                        <AND>

                                                  <NOT>

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

                                                  </NOT>

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

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

                                        </AND>

                              </OR>

                    </WITH>

                    <DO>

                              <VALIDATION scope="save">

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

                                        <MESSAGE lang="*" text="Bitte geben Sie nur die Anwendung URL oder, bei einer VW Anwendung nur die Anwendung ID, wenn es sich um eine spezielle Anwendung handelt, die entsprechende Anwendung auswählen."/>

                              </VALIDATION>

                    </DO>

          </RULE>

</RULES>

HTML:

$CMS_SET(set_st_is_eparts, false)$

$CMS_FOR(for_aw, st_anwendung_spezial)$ 

          $CMS_IF(for_aw.value == "eParts")$

                    <script language="javascript" type="text/javascript" src="$CMS_REF(media:"cdsso")$"></script>

                    $CMS_SET(set_st_is_eparts, true)$

          $CMS_END_IF$

$CMS_VALUE(w.value)$</li>$CMS_END_FOR$

$CMS_IF(!st_vw_anwendung_id.isEmpty())$

          <script language="javascript" type="text/javascript" src="$CMS_REF(media:"cdsso")$"></script>

$CMS_END_IF$

<div class="wpsPortlet" $CMS_VALUE(editorId())$>

          <a name="$CMS_VALUE(st_anwendung_name)$"></a>

            <div class="wpsPortletTitleBar">

              <span class="wpsPortletTitleBarLeft"></span>

              <span class="wpsPortletTitle">$CMS_VALUE(st_anwendung_name)$</span>

            </div>

            <div class="wpsPortletBody">

              <div class="container">

                          <table cellpadding="0" cellspacing="0" width="100%">

                                    <tr>

                                      <td>

                                        <h2>$CMS_VALUE(st_anwendung_name)$</h2>

                                        <div $CMS_VALUE(editorId(editorName:"st_anwendung_beschreibung"))$>

                                                                <p>$CMS_VALUE(st_anwendung_beschreibung)$</p><br />

                                                    </div>

                                                    <div style="padding: 5px; width:100%; text-align:center;">

                                                              <a class ="herobutton"

                                                                        $CMS_IF(set_st_is_eparts)$

                                                                                  href=# onClick="EPX('E5P', '905')">

                                                                      $CMS_ELSE$

                                                                                href ="$CMS_IF(!st_vw_anwendung_id.isEmpty())$javascript:oeffneVWAnwendung($CMS_VALUE(st_vw_anwendung_id)$)"$CMS_ELSE$$CMS_VALUE(st_anwendung_url.lt_url)$" target="$CMS_VALUE(st_anwendung_name)$" $CMS_END_IF$>

                                                                      $CMS_END_IF$

                                                    

                                                                 <span>

                                                                             $CMS_VALUE(st_anwendung_name)$ starten

                                                                   </span>

                                                      </a>

                                                    </div>

                                                    $CMS_IF(!st_anwendung_hinweis.isEmpty())$

                                                              <div style="text-align:center;"><span style='color:red; font-weight:bold;'>$CMS_VALUE(st_anwendung_hinweis)$</span></div>

                                                    $CMS_END_IF$

                                               </td>

                                    </tr>

                          </table>

              </div>

          </div>

            <div class="wpsPortletFooter">

                     <span class="wpsPortleFooterLeft"></span>

            </div>

            <div class="clearing"></div>

</div>

0 Kudos
4 Replies
StefanSchulz
I'm new here

Hi,

der Problemfall zur Nutzung des Ausführungszeitpunkts "ONSAVE" gemeinsam mit speicherverhindernder Validierung wird in der Online-Dokumentation behandelt. Siehe hierzu:

http://www.e-spirit.com/odfs52/vorlagenentwicklung/regeln/ausfuehrungszeitpunkt/

Beste Grüße

Stefan

Hallo Stefan,

danke hat mir geholfen. Aber laut Doku muss man dann 2 mal die Regel angeben. Wenn man ein paar Elemente prüft, dann ist es ja viel schreibarbeit und wird dann etwas unübersichtlich. Kann man das nicht

etwas vereinfachen?

Viele Grüße,

Aissam

0 Kudos

Hi Aissam,

überlege dir dazu, ob du wirklich den Ausführungszeitpunkt festlegen musst. Üblicherweise soll die Regel interaktiv (kontinuierlich) ausgeführt werden und nicht erst beim Speichern. Dann genügt eine Regel (ohne when).

Beste Grüße

Stefan

ah ok ich denke ich benötige nicht unbedingt die when bedingung daher lass ich sie weg.

Danke für deine schnelle Unterstützung. Smiley Happy

Viele Grüße,

Aissam

0 Kudos