code: def stringmethod(func):
      
      method_name = func()
  
      @wraps(func)
      def factory():
          def validator(v):
              if not isinstance(v, six.string_types):
                  raise Invalid(_(u'Not a string'), get_type_name(six.text_type), get_type_name(type(v)))
              return getattr(v, method_name)()
          return validator
      return factory
docs: Validator factory which call a single method on the string.