docs: def validate(self, value, model=None, context=None):
          """
          Validate
          Perform value validation and return result
  
          :param value:           value to check
          :param model:           parent model being validated
          :param context:         object or None, validation context
          :return:                shiftschema.results.SimpleResult
          """
          value = str(value)
          regex = self.regex(
              protocols=self.protocols,
              localhost=self.localhost
          )
  
          regex = re.compile(regex, flags=self.flags)
          match = regex.match(value)
  
          # return error
          if not match:
              return Error(self.url_invalid)
  
          # success otherwise
          return Error()