function processParseErrors() {
      var errorKey = that.$$parserName;

      if (isUndefined(that.$$parserValid)) {
        setValidity(errorKey, null);
      } else {
        if (!that.$$parserValid) {
          forEach(that.$validators, function(v, name) {
            setValidity(name, null);
          });
          forEach(that.$asyncValidators, function(v, name) {
            setValidity(name, null);
          });
        }

        // Set the parse error last, to prevent unsetting it, should a $validators key == parserName
        setValidity(errorKey, that.$$parserValid);
        return that.$$parserValid;
      }
      return true;
    }
@ngdoc method
@name ngModel.NgModelController#$validate

@description
Runs each of the registered validators (first synchronous validators and then
asynchronous validators).
If the validity changes to invalid, the model will be set to `undefined`,
unless {@link ngModelOptions `ngModelOptions.allowInvalid`} is `true`.
If the validity changes to valid, it will set the model to the last available valid
`$modelValue`, i.e. either the last parsed value or the last value set from the scope.