How to implement a custom form action with dynamically changing required slots?

Here is an example below. Details in Forms [Handling conditional slot logic]

def required_slots(tracker: Tracker) -> List[Text]: “a list of requires slots that the form has to fill”

    if tracker.get_slot("good_is_valid") == False:
        return ["name", "good"]
    elif tracker.get_slot("mobile_is_use") == True:
       return ["name", "good", "mobile_is_use", "prov_city_district", "detailAddress"]