in KubernetesPodOperator the name parameter is mandatory.
However if you forget to add it you will get a broken dag message with:
![Screen Shot 2021-04-12 at 12 16 58](https://user-images.githubusercontent.com/62940116/114373136-f699d180-9b8a-11eb-8500-d8e7118650ae.png)

This is because
https://github.com/apache/airflow/blob/1dfbb8d2031cb8a3e95e4bf91aa478857c5c3a85/airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py#L277

it calls validate_data which produce this error:
https://github.com/apache/airflow/blob/1dfbb8d2031cb8a3e95e4bf91aa478857c5c3a85/airflow/utils/helpers.py#L40

The error is not useful. It doesn't explain what the issue is of where the problem is. it also says problem with `key` which isn't a parameter of anything.
I couldn't even know that the issue is from the KubernetesPodOperator.

Suggestions:
make better error message for `KubernetesPodOperator` when name parameter is missing OR invalid.

I would also suggest to make validate_key produce a better error message specifying what object produce the error
airflow/providers/cncf/kubernetes/operators/kubernetes_pod.py
self.log.debug("Adding k8spodoperator labels to pod before launch for task %s", self.task_id)
            self.labels.update(
                {
                    'airflow_version': airflow_version.replace('+', '-'),
                    'kubernetes_pod_operator': 'True',
                }
            )
            self.labels.update(labels)
            self.pod.metadata.labels = self.labels
        self.log.debug("Starting pod:\n%s", yaml.safe_dump(self.pod.to_dict()))
        try:
            launcher.start_pod(self.pod, startup_timeout=self.startup_timeout_seconds)
            final_state, result = launcher.monitor_pod(pod=self.pod, get_logs=self.get_logs)
        except AirflowException:
            if self.log_events_on_failure:
                for event in launcher.read_pod_events(self.pod).items:
                    self.log.error("Pod Event: %s - %s", event.reason, event.message)
            raise
        finally:
            if self.is_delete_operator_pod:
                self.log.debug("Deleting pod for task %s", self.task_id)
                launcher.delete_pod(self.pod)
        return final_state, self.pod, result
    def patch_already_checked(self, pod: k8s.V1Pod):
        """Add an "already tried annotation to ensure we only retry once"""
        pod.metadata.labels["already_checked"] = "True"
        body = PodGenerator.serialize_pod(pod)
        self.client.patch_namespaced_pod(pod.metadata.name, pod.metadata.namespace, body)
    def monitor_launched_pod(self, launcher, pod) -> Tuple[State, Optional[str]]: