Hi, I have a FormValidationAction that validates a slot value based on the API request response, in case the API returns None I need to deactivate the form, stop the active loop, and reset all slots. I have tried to return all the following events or suggestions but no one was efficient and the form keeps going for ask next slots since the FormValidation only expects to return slot events: What I tried, as suggested in the rasa community for the same issue:
# self.deactivate()
# raise ActionExecutionRejection(self.name(), Activeloop(None))
# return[ActiveLoop(None), AllSlotsReset()]
#reutrn [(Restarted(), AllSlotsReset()]
# # raise ActionExecutionRejection(self.name(), deactivate_form=True)
# # return[SlotSet(REQUESTED_SLOT, None), ActiveLoop(None), AllSlotsReset()]
# # return[FollowupAction("action_deactivate_loop"), AllSlotsReset()]
# # return[FollowupAction("action_deactivate_loop")]
# # return[SlotSet(REQUESTED_SLOT, None)]
# # return [FollowupAction("action_deactivate_loop"), AllSlotsReset()]
# # return [ActiveLoop(None), SlotSet(REQUESTED_SLOT, None)]
# return[FollowupAction("action_deactivate_loop")]
# return [ActiveLoop(None), SlotSet('requested', None)]
Rasa:
Rasa Version : 3.2.10 Minimum Compatible Version: 3.0.0 Rasa SDK Version : 3.2.2 Python Version : 3.8.10 Operating System : Linux-5.15.0-57-generic-x86_64-with-glibc2.35