title: How can I access serializer's field data before its type validation?
body: <p>How to access the field value before serialization in my serializer (<code>serializers.Serializer</code>) or rest view (<code>UpdateAPIView</code>)?</p>
  
  <p>I have something like this:</p>
  
  <pre><code>class MySerializer(serializers.Serializer):
      my_field = serializers.IntegerField()
  </code></pre>
  
  <p>If I try to fill my field with 'test' string, it will immediately raise the ValidationError telling me about wrong data type (expecting an integer number of course). Before that error raise, I want to capture the value and do something with it but I have no idea how and where can I access it. It has an empty string value everywhere. I tried to get it in <code>is_valid()</code> before call <code>super()</code> or with <code>raise_exception=False</code>, but I still can not see it:</p>
  
  <pre><code> '_kwargs': {'context': {'format': None,
                           'request': &lt;rest_framework.request.Request object&gt;,
                           'view': &lt;rest.views.MyUpdateAPIView object&gt;},
               'data': &lt;QueryDict: {'my_field': ['']}&gt;,
  'initial_data': &lt;QueryDict: {'my_field': ['']}&gt;,
  </code></pre>
  
  <p>When I try to find it in my view I can also see nothing:</p>
  
  <pre><code>serializer.initial_data
  &lt;QueryDict: {'my_field': ['']}&gt;
  
  request.data
  &lt;QueryDict: {'my_field': ['']}&gt;
  </code></pre>
  
  <p>When I try to check <code>validate()</code> or <code>validate_my_field()</code> methods, I can not even get there because of the ValidationError I mentioned above.</p>
  
  <p>How the serializer validation actually works? What is the order in it and how can I access data before it is "cleaned"?</p>