      """Base class for all ValidatorMixin classes, which simply defines the interface they provide."""
  
      def validate(self, content):
          """Given some content as input return some cleaned, validated content.
          Raises a ResponseException with status code 400 (Bad Request) on failure.
          
          Must be overridden to be implemented."""
          raise NotImplementedError()
  
  
  class FormValidatorMixin(ValidatorMixin):
 
</s> remove class ValidatorMixin(object):
    """Base class for all ValidatorMixin classes, which simply defines the interface they provide."""
 </s> add class BaseValidator(object):
    """Base class for all Validator classes, which simply defines the interface they provide."""

    def __init__(self, view):
        self.view = view </s> remove     """The form class that should be used for validation, or None to turn off form validation."""
    form = None
    bound_form_instance = None
 </s> add     The view class should provide `.form` attribute which specifies the form classmethod
    to be used for validation.
    
    On calling validate() this validator may set a `.bound_form_instance` attribute on the
    view, which may be used by some renderers."""
 </s> remove class FormValidatorMixin(ValidatorMixin):
    """Validator Mixin that uses forms for validation.
    Extends the ValidatorMixin interface to also provide a get_bound_form() method.
    (Which may be used by some emitters.)"""
 </s> add class FormValidator(BaseValidator):
    """Validator class that uses forms for validation.
    Also provides a get_bound_form() method which may be used by some renderers. </s> remove class ModelFormValidatorMixin(FormValidatorMixin):
    """Validator Mixin that uses forms for validation and falls back to a model form if no form is set.
    Extends the ValidatorMixin interface to also provide a get_bound_form() method.
    (Which may be used by some emitters.)"""
 </s> add class ModelFormValidator(FormValidator):
    """Validator class that uses forms for validation and otherwise falls back to a model form if no form is set.
    Also provides a get_bound_form() method which may be used by some renderers.""" </s> remove class Resource(EmitterMixin, AuthMixin, FormValidatorMixin, RequestMixin, View):
 </s> add class Resource(EmitterMixin, AuthMixin, RequestMixin, View):
        Typically raises a ResponseException with status code 400 (Bad Request) on failure.

      """Base class for all ValidatorMixin classes, which simply defines the interface they provide."""
  
      def validate(self, content):
          """Given some content as input return some cleaned, validated content.
        Typically raises a ResponseException with status code 400 (Bad Request) on failure.

        Typically raises a ResponseException with status code 400 (Bad Request) on failure.

          Must be overridden to be implemented."""
          raise NotImplementedError()
  
  
  class FormValidatorMixin(ValidatorMixin):
keep keep keep keep replace replace keep keep keep keep keep
 Lots of validator tests passing after refactor 
djangorestframework/validators.py