Get slots name and their values

I have migrate Rasa from rasa core==0.13.2 to Rasa==1.5.1 in the previous version i have insert user slots in mongo database using validate() in form action:

    slot_values = self.extract_other_slots(dispatcher, tracker, domain)
    conversation_id = tracker.get_slot('conversation_id')
    for slot, value in slot_values.items():

        # insert user information
        params = {
                slot : value,
                "completed": False
        database_connexion.connection(conversation_id, params)

# function to insert users informations in mongo database
def connection(conversation_id,params):

    client = MongoClient(host='localhost',port=27017)

    if client is None:

        db.update_one({"_id": conversation_id },{"$set":params},upsert=True)
        print("params :", params)

    except Exception as e:
        print("Unable to connect to %s.", e)  

But in the current version the validate function don’t exists. I need slot : value in every step of the conversation. Please any ideas about how can i achive that ?

Hi @nadachaabani1! What do you mean when you say ‘the validate function doesn’t exist’ ? We didn’t remove it, you can still do custom slot validation Forms

hey @amn41, in this version we should add a validation function for every slot using validate_{slot-name} . But a single function that access to all slots still exists ? because i need the loop : for slot, value in slot_values.items():

@amn41, thank you so much now it works fine. in the last time, i couldn’t access to REQUIRED_SLOT variable but now it works. i have used the same actions script and i have update rasa_core_sdk to rasa_sdk