public static IValidatorBuilder <TestEntity> TestEntityRuleTemplate(this IValidatorBuilder <TestEntity> validatorBuilder) { return(validatorBuilder .RuleOn(t => t.StringProperty).Expression(s => !string.IsNullOrEmpty(s)).Named("Required").Message("StringProperty cannot be empty") .RuleOn(t => t.IntProperty).Expression(i => i > 0).Message("IntProperty have to be greater than zero") .RuleOn(t => t.IntProperty).Expression(i => i < 10).Message("IntProperty have to be less than ten")); }
public ValidationClientTransactionExtension(string key, IValidatorBuilder validatorBuilder) : base(key) { ArgumentUtility.CheckNotNull("validatorBuilder", validatorBuilder); _validatorBuilder = validatorBuilder; }
/// <summary> /// Builds an instance of the <see cref="IValidator{T}"/> interface. /// </summary> /// <typeparam name="TValidatedType">The <see cref="Type"/> that is validated by the returned <see cref="IValidator{T}"/></typeparam>. public static IValidator <TValidatedType> BuildValidator <TValidatedType> (this IValidatorBuilder builder) { ArgumentUtility.CheckNotNull("builder", builder); var validator = builder.BuildValidator(typeof(TValidatedType)); return(new TypedValidatorDecorator <TValidatedType> (validator)); }
public void SetUp() { _validatorBuilderMock = MockRepository.GenerateStrictMock <IValidatorBuilder>(); _validatorMock1 = MockRepository.GenerateStrictMock <IValidator> (); _validatorMock2 = MockRepository.GenerateStrictMock <IValidator> (); _extension = new ValidationClientTransactionExtension(_validatorBuilderMock); }
/// <summary> /// Registers properties that will be validated. If a property is not registered, it can't be later validated with <see cref="IValidator.Validate"/> /// and will not be validated by <see cref="IValidator.ValidateAll"/>. /// </summary> /// <param name="validatorBuilder">The <see cref="IValidatorBuilder"/> to add to.</param> /// <param name="properties">Name of a C# property with public getters, belonging to the specified view-model.</param> /// <returns>The original builder object</returns> /// <remarks>This method changes and returns the original builder object</remarks> public static IValidatorBuilder AddProperties(this IValidatorBuilder validatorBuilder, params string[] properties) { foreach (var property in properties) { validatorBuilder.AddProperty(property); } return(validatorBuilder); }
private IValidatorBuilder SetupValidatorBuilder(IValidatorBuilder builder) { return(builder .WithViewModel(_viewModel) .WithResultsPresenter((name, errors) => _presentedErrors.Add(name, errors.ToList())) .AddProperty(nameof(TestViewModel.FirstName)) .AddProperty(nameof(TestViewModel.Password)) .AddProperty(nameof(TestViewModel.RepeatPassword)) .AddProperty(nameof(TestViewModel.Email))); }
public virtual void SetUp() { var serviceLocator = DefaultServiceLocator.Create(); serviceLocator.RegisterSingle <IErrorMessageGlobalizationService> (GetValidatorGlobalizationService); _serviceLocatorScope = new ServiceLocatorScope(serviceLocator); MemoryAppender = new MemoryAppender(); BasicConfigurator.Configure(MemoryAppender); ValidationBuilder = serviceLocator.GetInstance <IValidatorBuilder>(); }
public void SetUp() { _validatorStub1 = MockRepository.GenerateStub <IValidator <Customer> >(); _validatorStub2 = MockRepository.GenerateStub <IValidator <Customer> >(); _validatorBuilderStub1 = MockRepository.GenerateStub <IValidatorBuilder>(); _validatorBuilderStub2 = MockRepository.GenerateStub <IValidatorBuilder>(); _validatorBuilderStub1.Stub(stub => stub.BuildValidator(typeof(Customer))).Return(_validatorStub1); _validatorBuilderStub2.Stub(stub => stub.BuildValidator(typeof(Customer))).Return(_validatorStub2); _compoundValidatorBuilder = new CompoundValidatorBuilder(new[] { _validatorBuilderStub1, _validatorBuilderStub2 }); }
public static IValidator BuildWithFormItemMetadata(this IValidatorBuilder validatorBuilder, out FormItemMetadata formItemMetadata) { formItemMetadata = new FormItemMessagesBuilder() .ForProperties(validatorBuilder.Properties) .Build(); // the reason this variable exists is that out vars can't be used inside a lambda var formItemMetadataLocal = formItemMetadata; validatorBuilder.WithResultsPresenter((name, errors) => formItemMetadataLocal.SetMessage(name, string.Join(", ", errors), MessageType.Invalid)); return(validatorBuilder.Build()); }
/// <summary> /// Sets the view-model and registers all its public properties that have at least one <see cref="ValidationAttribute"/> applied. /// </summary> /// <param name="validatorBuilder">The <see cref="IValidatorBuilder"/> to add to.</param> /// <param name="viewModel">The view-model, which type will be selected</param> /// <returns>The original builder object</returns> /// <remarks>This method changes and returns the original builder object</remarks> public static IValidatorBuilder WithViewModelAndAllProperties(this IValidatorBuilder validatorBuilder, object viewModel) { validatorBuilder.WithViewModel(viewModel); foreach (var property in viewModel.GetType() .GetProperties() .Where(property => property .GetCustomAttributes <ValidationAttribute>() .Any())) { validatorBuilder.AddProperty(property.Name); } return(validatorBuilder); }
public void AddBuilder(MethodInfo method, int parameterPosition, IValidatorBuilder builder, ParameterInfoMeta parameterMeta) { ParameterValidatorInvocation validatorInvocation = FindParameter(method, parameterPosition); if (validatorInvocation == null) { validatorInvocation = new ParameterValidatorInvocation(method, parameterPosition, parameterMeta); validatorInvocation.Builders.Add(builder); methodParameters.Add(validatorInvocation); Methods.Add(method); } else { validatorInvocation.Builders.Add(builder); } }
public ValidationClientTransactionExtension(IValidatorBuilder validatorBuilder) : this(DefaultKey, validatorBuilder) { }
public void GetManifestShouldReturnManifestCreatedFromBuilderAndBuilderCustomisation([Frozen] IGetsValidatorBuilder builderFactory, ManifestFromBuilderProvider sut, IBuildsValidator <string> builder, IValidatorBuilder <string> validatorBuilder, [ManifestModel] ValidationManifest manifest) { Mock.Get(builderFactory) .Setup(x => x.GetValidatorBuilder <string>(It.IsAny <ValidatorBuilderContext>())) .Returns(validatorBuilder); Mock.Get(validatorBuilder) .Setup(x => x.GetManifest()) .Returns(manifest); var result = sut.GetManifest(builder); Assert.That(result, Is.SameAs(manifest)); Mock.Get(builder).Verify(x => x.ConfigureValidator(validatorBuilder), Times.Once); }
public ValidationClientTransactionExtensionFactory(IValidatorBuilder validatorBuilder) { ArgumentUtility.CheckNotNull("validatorBuilder", validatorBuilder); _validationBuilder = validatorBuilder; }