code: def validate(self, data):
          
          for s in [self._schema(s, error=self._error, ignore_extra_keys=self._ignore_extra_keys) for s in self._args]:
              data = s.validate(data)
          return data
docs: Validate data using defined sub schema/expressions ensuring all
          values are valid.
          :param data: to be validated with sub defined schemas.
          :return: returns validated data