public void Initialize(RepositoryExtensionFactory.ExtensionEvents events, IConfiguration config) { events.AddtoValidateEntity(e => { if (e.Entity is IValidate) { IValidate model = e.Entity as IValidate; e.Result = model.ValidateModel(model); } else { AttributedValidatorFactory validatorFactory = new AttributedValidatorFactory(); var validator = validatorFactory.GetValidator(e.Entity.GetType()); ValidationResult validationResults = validator.Validate(e.Entity); IList <IValidationError> errors = new List <IValidationError>(); foreach (var error in validationResults.Errors) { errors.Add(new GenericValidationError { PropertyName = error.PropertyName, ValidationError = error.ErrorMessage }); } IValidationResult ErrorResult = new GenericValidationResult { IsValid = validationResults.IsValid, Errors = errors }; e.Result = ErrorResult; } }); }
private ValidationResult GetValidationResult() { var attributeFactory = new AttributedValidatorFactory(); var type = this.GetType(); var validator = attributeFactory.GetValidator(type); var results = validator.Validate(this); return(results); }
public void can_parse_pie_fiel_without_error() { var file = Path.Combine("Data", Path.Combine("Pies", Path.Combine("radarsensor.pie"))); var f = new AttributedValidatorFactory(); var txt = File.ReadAllText( file ); Console.WriteLine( "Parsing: {0}", file ); var pie = PieGrammar.Pie.Parse( txt ); // PieGrammar.Pie.parse var v = f.GetValidator<Pie>(); v.Validate( pie ).IsValid.Should().BeTrue(); }
protected void Validate(object entity, EntityMode mode) { if (entity == null || mode != EntityMode.Poco) { return; } var validator = validatorFactory.GetValidator(entity.GetType()); var result = validator != null?validator.Validate(entity) : emptyValidationResult; if (!result.IsValid) { throw new ValidationException(result.Errors); } }
public void can_parse_pie_fiel_without_error() { var file = Path.Combine("Data", Path.Combine("Pies", Path.Combine("radarsensor.pie"))); var f = new AttributedValidatorFactory(); var txt = File.ReadAllText(file); Console.WriteLine("Parsing: {0}", file); var pie = PieGrammar.Pie.Parse(txt); // PieGrammar.Pie.parse var v = f.GetValidator <Pie>(); v.Validate(pie).IsValid.Should().BeTrue(); }
public void PersonViewModel_Valid() { var personViewModel = new PersonViewModel() { FirstName = new ValidatableProperty <string>("John"), LastName = new ValidatableProperty <string>("Doe"), DateOfBirth = new ValidatableProperty <System.DateTime>(System.DateTime.Now.AddYears(-20)) }; var attributeFactory = new AttributedValidatorFactory(); var type = personViewModel.GetType(); var validator = attributeFactory.GetValidator(type); var results = validator.Validate(personViewModel); Assert.IsTrue(results.IsValid); }
public void PersonViewModel_New() { var personViewModel = new PersonViewModel(); var attributeFactory = new AttributedValidatorFactory(); var type = personViewModel.GetType(); var validator = attributeFactory.GetValidator(type); var results = validator.Validate(personViewModel); Assert.IsFalse(results.IsValid); Assert.AreEqual($"'{nameof(PersonViewModel.FirstName)}' must not be empty.", results.Errors[0].ErrorMessage); Assert.AreEqual($"'{nameof(PersonViewModel.LastName)}' must not be empty.", results.Errors[1].ErrorMessage); Assert.AreEqual($"'{nameof(PersonViewModel.DateOfBirth)}' should not be empty.", results.Errors[2].ErrorMessage); }
public void can_parse_all_pie_fiels_without_error() { Console.WriteLine (Directory.GetCurrentDirectory()); var files = Directory.GetFiles( Path.Combine("..", Path.Combine("..", Path.Combine("..", Path.Combine("Data", Path.Combine("3.1_b4-objects", Path.Combine("pies")))))), "*.pie" ); var f = new AttributedValidatorFactory(); foreach( var file in files ) { var txt = File.ReadAllText( file ); Console.WriteLine("Parsing: {0}", file); var pie = PieGrammar.Pie.Parse( txt ); var v = f.GetValidator<Pie>(); v.Validate( pie ).IsValid.Should().BeTrue(); } }
public void can_parse_all_pie_fiels_without_error() { Console.WriteLine(Directory.GetCurrentDirectory()); var files = Directory.GetFiles(Path.Combine("..", Path.Combine("..", Path.Combine("..", Path.Combine("Data", Path.Combine("3.1_b4-objects", Path.Combine("pies")))))), "*.pie"); var f = new AttributedValidatorFactory(); foreach (var file in files) { var txt = File.ReadAllText(file); Console.WriteLine("Parsing: {0}", file); var pie = PieGrammar.Pie.Parse(txt); var v = f.GetValidator <Pie>(); v.Validate(pie).IsValid.Should().BeTrue(); } }
public void PersonViewModel_HasName() { var personViewModel = new PersonViewModel() { FirstName = new ValidatableProperty <string>("John"), LastName = new ValidatableProperty <string>("Doe"), DateOfBirth = new ValidatableProperty <DateTime>(DateTime.Now.AddYears(-10)) }; var attributeFactory = new AttributedValidatorFactory(); var type = personViewModel.GetType(); var validator = attributeFactory.GetValidator(type); var results = validator.Validate(personViewModel); Assert.IsFalse(results.IsValid); Assert.AreEqual(1, results.Errors.Count); Assert.AreEqual($"Age must be greater or equal to 18", results.Errors[0].ErrorMessage); }
protected Validable() { validator = validationFactory.GetValidator(this.GetType()); }