code: def validate(self) -> None:
      exceptions = []
      # Validate tag exists
      for tag in self._tags:
          if not TagDAO.find_by_name(tag):
              exceptions.append(TagNotFoundError(tag))
      if exceptions:
          raise TagInvalidError(exceptions=exceptions)
  
file_path: superset/superset/commands/tag/delete.py
imports: import logging
  from superset.commands.base import BaseCommand
  from superset.commands.tag.exceptions import TagDeleteFailedError, TaggedObjectDeleteFailedError, TaggedObjectNotFoundError, TagInvalidError, TagNotFoundError
  from superset.commands.tag.utils import to_object_type
  from superset.daos.exceptions import DAODeleteFailedError
  from superset.daos.tag import TagDAO
  from superset.tags.models import ObjectType
  from superset.views.base import DeleteMixin
label_desc: Use image node_id 3 for calling the DeleteTagsCommand obj's underlying member method code with example usage: obj.validate() without return types