Évalue si une valeur est valide en fonction d'un motif ou d'une liste de motifs.
Type : gestionnaire d'évaluation de valeur
Attributs
L'explication des attributs est la suivante :
à_évaluer : L'entrée doit correspondre au motif défini /s. S'il correspond, l'entrée est valide.
code_word_evaluation : L'entrée vocale ne sera vérifiée que si cet attribut est défini. Il peut s'agir d'une chaîne vide. Si une commande de saisie vocale commence par le mot-clé donné, le reste de la commande sera utilisé pour l'évaluation.
- Obligatoire : false
- Valeur par défaut : none
Événements
Le gestionnaire émet les événements suivants :
VALIDE
: Si l'entrée fournie correspond au modèle.ALREADY_VALID
: Si l'entrée fournie correspond à un modèle qui a déjà été validé avec succès.ALL_VALID
: Lorsque tous les éléments de la collection "to_evaluate" ont été validés avec succès.INVALIDE
: Si l'entrée fournie ne correspond à aucun modèle.
La structure de la charge utile est celle de l'exemple d'événement ci-dessous :
{
"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":
{
}
}
Exemple
<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>