Bewertet, ob ein Wert auf der Grundlage eines Musters oder einer Liste von Mustern gültig ist.
Typ: wert_auswertung_handler
Attribute
Die Attribute werden im Folgenden erläutert:
zu_auswerten: Die Eingabe muss mit dem definierten Muster /s übereinstimmen. Wenn sie übereinstimmt, ist die Eingabe gültig.
code_word_evaluation: Die Spracheingabe wird nur geprüft, wenn dieses Attribut gesetzt ist. Es kann eine leere Zeichenkette sein. Beginnt ein Spracheingabebefehl mit dem angegebenen Schlüsselwort, wird der Rest des Befehls zur Bewertung herangezogen
- Erforderlich: false
- Standardwert: keine
Veranstaltungen
Der Handler gibt die folgenden Ereignisse aus:
VALID
: Wenn die angegebene Eingabe mit dem Muster übereinstimmt.ALREADY_VALID
: Wenn die angegebene Eingabe mit einem Muster übereinstimmt, das bereits erfolgreich überprüft wurde.ALL_VALID
: Wenn alle Elemente der Sammlung "to_evaluate" erfolgreich validiert wurden.INVALID
: Wenn die angegebene Eingabe mit keinem Muster übereinstimmt.
Die Struktur der Nutzlast entspricht dem unten stehenden Beispielereignis:
{
"command": "VALID",
"device":
{
"modality": "value-evaluation",
"name": "value-evaluation",
"source": "value-evaluation",
"descriptor": "value-evaluation"
},
"payload":
{
"code": "i am legend"
}
}
{
"command": "INVALID",
"device":
{
"modality": "value-evaluation",
"name": "value-evaluation",
"source": "value-evaluation",
"descriptor": "value-evaluation"
},
"payload":
{
}
}
Beispiel
<context>
<param name="validations" type="string"></param>
</context>
<handlers>
<value_evaluation_handler>
<code_word_extraction>validate</code_word_extraction>
<list name="to_evaluate" listType="UNNAMED">
<elem>machine .+</elem>
<elem>station .+</elem>
</list>
</value_evaluation_handler>
</handlers>
<states>
<onevent>
<rule id="is_valid">
<expression>
<![CDATA[ #{event(value-evaluation):command} == 'VALID' ]]>
</expression>
<actions>
<setvar id="add_validation">
<context_of>step</context_of>
<context_update>
<param name="validations" type="string">#{validations} #{event:payload.code}</param>
</context_update>
</setvar>
</actions>
</rule>
<rule id="all_valid">
<expression>
<![CDATA[ #{event(value-evaluation):command} == 'ALL_VALID' ]]>
</expression>
<actions>
<finish_workflow id="exit"/>
</actions>
</rule>
<rule id="invalid_input">
<expression>
<![CDATA[ #{event(value-evaluation):command} == 'INVALID' ]]>
</expression>
<actions>
<ui_notification id="invalid_value" type="ERROR" duration="SHORT" show_immediately="true">
<message>"Not a valid value!</message>
</ui_notification>
</actions>
</rule>
</onevent>
</states>