title: Django Rest Framework Validation: Combining `required` errors from two fields
body: <p>I'd like to combine the errors thrown for a required field into a new property e.g. from this:</p>
  
  <pre class="lang-py prettyprint-override"><code>{'start_date': 'This field is required', 'end_date': 'This field is required'}
  </code></pre>
  
  <p>to this:</p>
  
  <pre class="lang-py prettyprint-override"><code>{'date': 'This field is required'}
  </code></pre>
  
  <p>At first I thought I could do the validation in the serializer's <code>validate</code> method, but it seems like this is only called after the <code>required</code> validation is performed. For example, the following doesn't work:</p>
  
  <pre class="lang-py prettyprint-override"><code>class DatesRequiredSerializer(serializers.ModelSerializer):
  
      start_date = serializers.DateTimeField()
      end_date = serializers.DateTimeField()
  
      def validate(self, data):
          super().validate(data)
          # check if data is in either the request or instance
          start_date, end_date = None, None
          if 'start_date' in data:
              start_date = data['start_date']
          elif self.instance:
              start_date = self.instance.start_date
  
          if 'end_date' in data:
              end_date = data['end_date']
          elif self.instance:
              end_date = self.instance.end_date
  
          # this error isn't raised
          if not (start_date or end_date):
              raise serializers.ValidationError({"date": _('This field is required.')})
  
          return data
  </code></pre>
  
  <p>Is it possible to combine the validations without setting the serializer fields to <code>required=False</code>?</p>
  
  <p><em>P.S. if there's a cleaner way to check if data is in the request / instance, would love to know too!</em></p>