Skip to content
Permalink
Browse files

ID#347: added documentation for generic listeners.

  • Loading branch information...
Christian Achatz
Christian Achatz committed Mar 22, 2019
1 parent 5813459 commit d6b38684c30de02ac20e12ebc973893424f9ccb9
Showing with 72 additions and 38 deletions.
  1. +38 −21 DOCS/pres/content/c_de_113_4.X_formular_taglibs.html
  2. +34 −17 DOCS/pres/content/c_en_113_4.X_form_taglibs.html
@@ -679,11 +679,10 @@ <h4 id="Chapter-3-15-Listener"><a href="#Chapter-3-15-Listener">3.15. Listener</
}
</gen:highlight>
<p>
Das Attribut <em>validator</em> kann dann verwendet werden, wenn für das relevante
Formular-Feld <a href="#">spezielle Validator-Listener</a>
definitiert sind. Ein Anwendungs-Beispiel ist die Prüfung eines E-Mail-Feldes, für das
jeweils eine eigene Meldung für eine fehlende E-Mail-Adresse und eine syntaktisch nicht
korrekte Eingabe ausgegeben werden soll. Hierzu kann folgendes Template genutzt werden:
Das Attribut <em>validator</em> kann dann verwendet werden, wenn für das relevante Formular-Feld spezielle
Validator-Listener definitiert sind. Ein Anwendungs-Beispiel ist die Prüfung eines E-Mail-Feldes, für das
jeweils eine eigene Meldung für eine fehlende E-Mail-Adresse und eine syntaktisch nicht korrekte Eingabe ausgegeben
werden soll. Hierzu kann folgendes Template genutzt werden:
</p>
<gen:highlight type="apf-xml">
&lt;html:form name="email_form" method="post"&gt;
@@ -713,21 +712,19 @@ <h4 id="Chapter-3-15-Listener"><a href="#Chapter-3-15-Listener">3.15. Listener</
Bitte beachten Sie, dass Validatoren, die für das Attribut <em>type</em> den Wert
<em>special</em> enthalten nur spezielle Validator-Listener benachrichtigen. Sofern die oben
ausgegebenen Validator-Meldungen noch mit einer Markierung versehen werden sollen, bietet sich an,
einen <em>EMailValidator</em> zu definieren, deren Listener als Rahmen-gebende Elemente fungieren:
einen <em>&lt;form:error /&gt;</em>-Tag zu nutzen (siehe auch <a href="#Chapter-3-16-Error">Kapitel 3.16</a>):
<gen:highlight type="apf-xml">
&lt;html:form name="email_form" method="post"&gt;
&lt;form:listener control="email"&gt;
&lt;form:error&gt;
&lt;div class="error-container"&gt;
&lt;/form:listener&gt;
&lt;form:listener control="email" validator="APF\tools\form\validator\TextLengthValidator"&gt;
Please fill in the email field!
&lt;/form:listener&gt;
&lt;form:listener control="email" validator="APF\tools\form\validator\EMailValidator"&gt;
Please fill in the email field with a correct email address!
&lt;/form:listener&gt;
&lt;form:listener control="email"&gt;
&lt;form:listener control="email" validator="APF\tools\form\validator\TextLengthValidator"&gt;
Please fill in the email field!
&lt;/form:listener&gt;
&lt;form:listener control="email" validator="APF\tools\form\validator\EMailValidator"&gt;
Please fill in the email field with a correct email address!
&lt;/form:listener&gt;
&lt;/div&gt;
&lt;/form:listener&gt;
&lt;/form:error&gt;
&lt;form:text name="email" /&gt;
&lt;form:button name="send" value="Send" /&gt;
&lt;form:addvalidator
@@ -742,11 +739,6 @@ <h4 id="Chapter-3-15-Listener"><a href="#Chapter-3-15-Listener">3.15. Listener</
button="send"
type="special"
/&gt;
&lt;form:addvalidator
class="APF\tools\form\validator\EMailValidator"
control="email"
button="send"
/&gt;
&lt;/html:form&gt;
</gen:highlight>
</div>
@@ -758,6 +750,31 @@ <h4 id="Chapter-3-15-Listener"><a href="#Chapter-3-15-Listener">3.15. Listener</
</gen:highlight>
zur Verfügung. Details entnehmen Sie bitte Kapitel <int:link pageid="114" anchor="Chapter-3-2-3-HTML-Validation-Marker" />.
</div>
<p>
Möchten Sie einen <em>&lt;form:listener /&gt;</em>-Tag zur Ausgabe einer Fehlermeldung für mehrere Felder nutzen, so
lässt sich dies mit folgendem Template-Code erreichen:
</p>
<gen:highlight type="apf-xml">
&lt;html:form name="email_form" method="post"&gt;
&lt;form:listener&gt;
Please fill all fields marked in red with 3 to 16 characters!
&lt;/form:listener&gt;
&lt;form:text name="first-name" /&gt;
&lt;form:text name="last-name" /&gt;
&lt;form:text name="e-mail" /&gt;
&lt;form:button name="send" value="Send" /&gt;
&lt;form:addvalidator
class="APF\tools\form\validator\TextLengthValidator"
control="first-name|last-name|e-mail"
button="send"
type="generic"
/&gt;
&lt;/html:form&gt;
</gen:highlight>
<p>
Generische <em>&lt;form:listener /&gt;</em> lassen sich mit <em>&lt;form:listener /&gt;</em> für spezielle Validatoren und
einfachen Feld-basierten <em>&lt;form:listener /&gt;</em>-Tags beliebig kombinieren.
</p>

<h4 id="Chapter-3-16-Error"><a href="#Chapter-3-16-Error">3.16. Anzeige von Formular-Fehlern</a></h4>
<p>
@@ -694,22 +694,19 @@ <h4 id="Chapter-3-15-Listener"><a href="#Chapter-3-15-Listener">3.15. Listener</
<div class="warn">
Please note, that validators having the attribut <em>type</em> set to <em>special</em> do only
notify special validators. In case the validator messages of the target control should be marked,
you can add another <em>EMailValidator</em>, that notifies listeners, that contain the necessary
markup.:
you may want to use a <em>&lt;form:error /&gt;</em> (see <a href="#Chapter-3-16-Error">chapter 3.16</a>):
<gen:highlight type="apf-xml">
&lt;html:form name="email_form" method="post"&gt;
&lt;form:listener control="email"&gt;
&lt;form:error&gt;
&lt;div class="error-container"&gt;
&lt;/form:listener&gt;
&lt;form:listener control="email" validator="TextLengthValidator"&gt;
Please fill in the email field!
&lt;/form:listener&gt;
&lt;form:listener control="email" validator="EMailValidator"&gt;
Please fill in the email field with a correct email address!
&lt;/form:listener&gt;
&lt;form:listener control="email"&gt;
&lt;form:listener control="email" validator="TextLengthValidator"&gt;
Please fill in the email field!
&lt;/form:listener&gt;
&lt;form:listener control="email" validator="EMailValidator"&gt;
Please fill in the email field with a correct email address!
&lt;/form:listener&gt;
&lt;/div&gt;
&lt;/form:listener&gt;
&lt;/form:error&gt;
&lt;form:text name="email" /&gt;
&lt;form:button name="send" value="Send" /&gt;
&lt;form:addvalidator
@@ -724,11 +721,6 @@ <h4 id="Chapter-3-15-Listener"><a href="#Chapter-3-15-Listener">3.15. Listener</
button="send"
type="special"
/&gt;
&lt;form:addvalidator
class="APF\tools\form\validator\EMailValidator"
control="email"
button="send"
/&gt;
&lt;/html:form&gt;
</gen:highlight>
</div>
@@ -740,6 +732,31 @@ <h4 id="Chapter-3-15-Listener"><a href="#Chapter-3-15-Listener">3.15. Listener</
</gen:highlight>
Details can be taken from chapter <int:link pageid="114" anchor="Chapter-3-2-3-HTML-validation-marker" />.
</div>
<p>
In case you want to use one single <em>&lt;form:listener /&gt;</em> tag to display error messages for multiple
fields, this can be done with the following template code:
</p>
<gen:highlight type="apf-xml">
&lt;html:form name="email_form" method="post"&gt;
&lt;form:listener&gt;
Please fill all fields marked in red with 3 to 16 characters!
&lt;/form:listener&gt;
&lt;form:text name="first-name" /&gt;
&lt;form:text name="last-name" /&gt;
&lt;form:text name="e-mail" /&gt;
&lt;form:button name="send" value="Send" /&gt;
&lt;form:addvalidator
class="APF\tools\form\validator\TextLengthValidator"
control="first-name|last-name|e-mail"
button="send"
type="generic"
/&gt;
&lt;/html:form&gt;
</gen:highlight>
<p>
Generic <em>&lt;form:listener /&gt;</em> can be combined with <em>&lt;form:listener /&gt;</em> tags for special
validators as well as with field-based <em>&lt;form:listener /&gt;</em> tags.
</p>

<h4 id="Chapter-3-16-Error"><a href="#Chapter-3-16-Error">3.16. Display of form errors</a></h4>
<p>

0 comments on commit d6b3868

Please sign in to comment.
You can’t perform that action at this time.