/// <summary> /// Creates a new <see cref="ValidationVisitor"/>. /// </summary> /// <param name="actionContext">The <see cref="ActionContext"/> associated with the current request.</param> /// <param name="validatorProvider">The <see cref="IModelValidatorProvider"/>.</param> /// <param name="validatorCache">The <see cref="ValidatorCache"/> that provides a list of <see cref="IModelValidator"/>s.</param> /// <param name="metadataProvider">The provider used for reading metadata for the model type.</param> /// <param name="validationState">The <see cref="ValidationStateDictionary"/>.</param> public ValidationVisitor( ActionContext actionContext, IModelValidatorProvider validatorProvider, #pragma warning disable PUB0001 // Pubternal type in public API ValidatorCache validatorCache, #pragma warning restore PUB0001 IModelMetadataProvider metadataProvider, ValidationStateDictionary validationState) { if (actionContext == null) { throw new ArgumentNullException(nameof(actionContext)); } if (validatorProvider == null) { throw new ArgumentNullException(nameof(validatorProvider)); } if (validatorCache == null) { throw new ArgumentNullException(nameof(validatorCache)); } Context = actionContext; ValidatorProvider = validatorProvider; Cache = validatorCache; MetadataProvider = metadataProvider; ValidationState = validationState; ModelState = actionContext.ModelState; CurrentPath = new ValidationStack(); }
/// <summary> /// Creates a new <see cref="ValidationVisitor"/>. /// </summary> /// <param name="actionContext">The <see cref="ActionContext"/> associated with the current request.</param> /// <param name="validatorProvider">The <see cref="IModelValidatorProvider"/>.</param> /// <param name="validatorCache">The <see cref="ValidatorCache"/> that provides a list of <see cref="IModelValidator"/>s.</param> /// <param name="metadataProvider">The provider used for reading metadata for the model type.</param> /// <param name="validationState">The <see cref="ValidationStateDictionary"/>.</param> public ValidationVisitor( ActionContext actionContext, IModelValidatorProvider validatorProvider, ValidatorCache validatorCache, IModelMetadataProvider metadataProvider, ValidationStateDictionary validationState) { if (actionContext == null) { throw new ArgumentNullException(nameof(actionContext)); } if (validatorProvider == null) { throw new ArgumentNullException(nameof(validatorProvider)); } if (validatorCache == null) { throw new ArgumentNullException(nameof(validatorCache)); } _actionContext = actionContext; _validatorProvider = validatorProvider; _validatorCache = validatorCache; _metadataProvider = metadataProvider; _validationState = validationState; _modelState = actionContext.ModelState; _currentPath = new ValidationStack(); }
private void PreLoad(int preloadCount, ValidationStack stack) { for (var i = 0; i < preloadCount; i++) { stack.Push(i); } }