/// <summary> /// Creates the validator runner. /// </summary> /// <returns></returns> protected virtual IValidatorRunner CreateRunner() { IValidationContributor[] contributors = new IValidationContributor[] { contributor }; IValidatorRunner runner = new ValidatorRunner(contributors, new CachedValidationRegistry()); return(runner); }
/// <summary> /// Initializes a new instance of the <see cref="ValidatorRunner"/> class. /// </summary> /// <param name="inferValidators">If true, the runner will try to infer the validators based on data types</param> /// <param name="registry">The registry.</param> /// <param name="contributors">The contributors.</param> public ValidatorRunner(bool inferValidators, IValidatorRegistry registry, IValidationContributor[] contributors) { if (registry == null) throw new ArgumentNullException("registry"); this.inferValidators = inferValidators; validationPerformer = DefaultSettings.DefaultValidationPerformer; errorPerInstance = new Dictionary<object, ErrorSummary>(); this.registry = registry; this.contributors.AddRange(contributors); // resolve contributor dependencies if needed foreach(IValidationContributor contributor in this.contributors) { IHasValidationPerformerDependency hasPerformerDependency = (contributor as IHasValidationPerformerDependency); if (hasPerformerDependency != null) hasPerformerDependency.ValidationPerformer = this.validationPerformer; IHasValidatorRunnerDependency hasValidatorRunnerDependency = contributor as IHasValidatorRunnerDependency; if (hasValidatorRunnerDependency != null) hasValidatorRunnerDependency.ValidatorRunner = this; IHasValidatorRegistryDependency hasValidatorRegistryDependency = (contributor as IHasValidatorRegistryDependency); if (hasValidatorRegistryDependency != null) hasValidatorRegistryDependency.ValidatorRegistry = registry; } }
/// <summary> /// Initializes a new instance of the <see cref="ValidatorRunner"/> class. /// </summary> /// <param name="contributors">The contributors.</param> /// <param name="registry">The registry.</param> public ValidatorRunner(IValidationContributor[] contributors, IValidatorRegistry registry) : this(DefaultSettings.InferValidators, registry, contributors) {}
/// <summary> /// Creates the validator runner. /// </summary> /// <returns></returns> protected virtual IValidatorRunner CreateRunner() { IValidationContributor[] contributors = new IValidationContributor[] { contributor }; IValidatorRunner runner = new ValidatorRunner(contributors, new CachedValidationRegistry()); return runner; }