Beschreibung

Mit diesem Widget können die eingegebenen Schweizer Adressdaten automatisch überprüft werden. Eingegebenen Adressdaten werden anhand der korrekten, offiziell gültigen Strassenbezeichnungen und gültigen Postleitzahlen der Schweiz überprüft. Dabei wir ein Webservice der schweizerischen Post verwendet.

Es erfolgt eine Überprüfung, ob die eingegebene Adresse bei der Post vorhanden ist. Somit ist sichergestellt, dass die Adresse effektiv besteht. Es wird immer die ganze Schweiz verwendet. Die Post bietet aktuell keine Einschränkungsmöglichkeit auf Kantone, da dieser Wert nicht vorhanden ist.



> (Autoauswahl, wenn "Lookup verwenden" im Feld aktiv)

Aufgrund der Eingabe in PLZ werden die passenden Ortschaften zur Auswahl angezeigt.

Grundlagen

Damit die Funktionen genutzt werden können, müssen neben dem Widget die entsprechenden Folgefelder (PLZ, Ort etc.) im Formular vorhanden sein.

Konfiguration

Benutze Adressverifizierung?

Ist diese Checkbox gesetzt, wird die Verifizierung aktiviert. Wenn sie nicht gesetzt ist, zeigt sich im Formular keine Checkbox "Adresse automatisch überprüfen" und die Adressfelder werden nicht aktiv überprüft. Die verwendeten Felder werden im aktiven Zustand automatisch zu Pflichtfeldern, auch wenn auf dem betreffenden Feld die Option "Pflichtfeld" nicht gesetzt wird. Damit das * Symbol im Formular dargestellt wird, empfiehlt es sich, die Felder als Pflichtfeld zu setzen.

Standardmässig verifizieren?

- Nur verfügbar, wenn Adressverifizierung aktiv. Ist diese Option gewählt, ist die Checkbox unter "Adresse automatisch überprüfen" vorausgewählt.

Referenzfelder

- Auswahl, welches Feld im Formular das mit der entsprechenden Verifizierung verknüpft werden soll. Es müssen zwingend alle Felder verknüpft werden.

Lookup verwenden

- Definiert, ob eine Autoauswahl in diesem Feld verwendet werden soll.



Keine CH - Adresse?

Mit einer Checkbox, kann die Adressverifizierung / Vorschlagsfunktion deaktiviert werden.

Im gezeigten Beispiel ist das Formular-Element "CH-Post Adresse verifizieren" ausgeblendet und so eingestellt, dass es die Adressen nur vorschlägt aber nicht validiert. Dies lässt zwar abweichende Adresseingaben zu, jedoch werden nur CH-PLZ/ORT für die Suche zugelassen. Ein abweichender Fall (also nicht CH-Adresse) kann so nicht erfasst werden. Abhilfe schafft dieser Lösungsansatz.

Wir die Checkbox "Adresse im Ausland" aktiviert, verändert ein Regel das Verhalten der Autocomplete Funktion zu enableAutocomplete "false".

Dabei muss jedes Autocomplete-Element eigens umgestellt werden. Es sind also drei Scripts nötig für diese Regel. Zudem muss über "inverse Aktion", sichergestellt werden, dass die Funktion auch wieder aktiv wird.

Regeln

Die Elemente befinden sich im Formular-Schritt (Seite) "p_IDderSeite" (fiktive Bezeichnung). Da hier nicht eine JAXForms Basisfunktion, sondern ein PlugIn-Script beeinflusst werden soll, muss der Ort der Verwendung (XPath) angesprochen werden. Daher auch die Funktion CallJavaScript("enableAutocomplete()").

Bedingung
adrNonCH == TRUE
HauptaktionInverse Aktion
CallJavaScript("enableAutocomplete('"+ XPath(f_plz,p_IDderSeite,true) +"',false)") && CallJavaScript("enableAutocomplete('"+ XPath(f_ort,p_IDderSeite,true) +"',false)") && CallJavaScript("enableAutocomplete('"+ XPath(f_strasse,p_IDderSeite,true) +"',false)")CallJavaScript("enableAutocomplete('"+ XPath(f_plz,p_IDderSeite,true) +"',true)") && CallJavaScript("enableAutocomplete('"+ XPath(f_ort,p_IDderSeite,true) +"',true)") && CallJavaScript("enableAutocomplete('"+ XPath(f_strasse,p_IDderSeite,true) +"',true)")
  1. PLZ Element das angesprochen wird
  2. ORT Element, das angesprochen wird
  3. Strasse Element , das angesprochen wird
  4. Checkbox mir der Regel
  5. Elemement "CH-Post Verifikation", welches ausgeblendet wurde.

Feldgruppe

Beispiel und der Code mit Regel zur De-/Aktivierung

<element name="adrNonCH">
     <config>
      <title>
       <content lang="de"><![CDATA[Adresse im Ausland]]></content>
      </title>
      <description/>
      <type>
       <boolean useTrailingLabel="true"/>
      </type>
      <rules>
       <rule>
        <condition>adrNonCH == TRUE</condition>
		<mainAction>CallJavaScript("enableAutocomplete('"+ XPath(f_plz,p_IDderSeite,true) +"',false)") && CallJavaScript("enableAutocomplete('"+ XPath(f_ort,p_IDderSeite,true) +"',false)") && CallJavaScript("enableAutocomplete('"+ XPath(f_strasse,p_IDderSeite,true) +"',false)")</mainAction>
        <inverseAction>CallJavaScript("enableAutocomplete('"+ XPath(f_plz,p_IDderSeite,true) +"',true)") && CallJavaScript("enableAutocomplete('"+ XPath(f_ort,p_IDderSeite,true) +"',true)") && CallJavaScript("enableAutocomplete('"+ XPath(f_strasse,p_IDderSeite,true) +"',true)")</inverseAction>
       </rule>
      </rules>
      <layoutProps colSpan="4"/>
     </config>
     <value>
      <simple/>
     </value>
</element>




  • Keine Stichwörter