I have a form action for three slots: A, B, C. I have validate functions for each: validate_A(), validate_B(), validate_C()
If I enter two sentences: “value for A, value for B” “value for C”
Then when validate_C() is executed, the slot values for A and B are available.
However, if I enter just one sentence: “value for A, value for B, value for C”
Then indeed it executes validate_A() and validate_B(), but when it executes validate_C(), the tracker.slots values for A and B still have None. It seems as if the slots are not set until all form slots for the current sentence are processed.
Does that sound right? If so, then what is the best way to update the tracker so the slot values for A and B will be visible to C?
What I am doing now is something probably pretty bad: I am just setting tracker.slots[‘A’] in validate_A() and tracker.slots[‘B’] in validate_B(). This makes these slot values available to validate_C() and solves my problem.
But I’m wondering if there is a more idiomatic way of doing this?