コード例 #1
0
 public virtual void Validate(
     ActionContext actionContext,
     ValidationStateDictionary?validationState,
     string?prefix,
     object?model,
     ModelMetadata metadata)
 => Validate(actionContext, validationState, prefix, model, metadata, container: null);
コード例 #2
0
        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));
            }

            Context           = actionContext;
            ValidatorProvider = validatorProvider;
            Cache             = validatorCache;

            MetadataProvider = metadataProvider;
            ValidationState  = validationState;

            ModelState   = actionContext.ModelState;
            _currentPath = new ValidationStack();
        }
コード例 #3
0
    public virtual void Validate(
        ActionContext actionContext,
        ValidationStateDictionary?validationState,
        string?prefix,
        object?model,
        ModelMetadata metadata,
        object?container)
    {
        var visitor = GetValidationVisitor(
            actionContext,
            _validatorProvider,
            _validatorCache,
            _modelMetadataProvider,
            validationState);

        visitor.Validate(metadata, prefix, model, alwaysValidateAtTopLevel: metadata.IsRequired, container);
    }
コード例 #4
0
    public virtual void Validate(
        ActionContext actionContext,
        ValidationStateDictionary?validationState,
        string?prefix,
        object?model)
    {
        var visitor = GetValidationVisitor(
            actionContext,
            _validatorProvider,
            _validatorCache,
            _modelMetadataProvider,
            validationState);

        var metadata = model == null ? null : _modelMetadataProvider.GetMetadataForType(model.GetType());

        visitor.Validate(metadata, prefix, model, alwaysValidateAtTopLevel: false);
    }
コード例 #5
0
    public override ValidationVisitor GetValidationVisitor(
        ActionContext actionContext,
        IModelValidatorProvider validatorProvider,
        ValidatorCache validatorCache,
        IModelMetadataProvider metadataProvider,
        ValidationStateDictionary?validationState)
    {
        var visitor = new ValidationVisitor(
            actionContext,
            validatorProvider,
            validatorCache,
            metadataProvider,
            validationState)
        {
            MaxValidationDepth = _mvcOptions.MaxValidationDepth,
            ValidateComplexTypesIfChildValidationFails = _mvcOptions.ValidateComplexTypesIfChildValidationFails,
        };

        return(visitor);
    }
コード例 #6
0
 public abstract ValidationVisitor GetValidationVisitor(
     ActionContext actionContext,
     IModelValidatorProvider validatorProvider,
     ValidatorCache validatorCache,
     IModelMetadataProvider metadataProvider,
     ValidationStateDictionary?validationState);
コード例 #7
0
 public void Validate(ActionContext actionContext,
                      ValidationStateDictionary?validationState, string prefix, object?model)
 {
 }