diff --git a/lib/ansible/playbook/base.py b/lib/ansible/playbook/base.py index f8d4c91997..f0b94b2371 100644 --- a/lib/ansible/playbook/base.py +++ b/lib/ansible/playbook/base.py @@ -266,7 +266,7 @@ class Base: continue else: raise AnsibleParserError("the field '%s' is required but was not set" % name) - elif not attribute.always_post_validate and self.__class__.__name__ not in ('Task', 'PlayContext'): + elif not attribute.always_post_validate and self.__class__.__name__ not in ('Task', 'Handler', 'PlayContext'): # Intermediate objects like Play() won't have their fields validated by # default, as their values are often inherited by other objects and validated # later, so we don't want them to fail out early