public static ValidationNotification ValidateProperty <T>(T instance, Expression <Func <T, object> > property)
        {
            var context = new TContext();
            var prop    = new PropertyValidator <T, object>(property);

            return(ValidationCatalog.ValidateProperty(instance, prop.PropertyInfo.Name, null, context.SpecificationContainer));
        }
        public static ValidationNotification ValidateProperty(object instance, string propertyName,
                                                              SpecificationBase specificationBase)
        {
            var context = new TContext();

            return(ValidationCatalog.ValidateProperty(instance, propertyName, specificationBase, context.SpecificationContainer));
        }
        public static ValidationNotification Validate <TSpec>(object instance) where TSpec : SpecificationBase, new()
        {
            var context = new TContext();
            var spec    = context.SpecificationContainer.TryGetSpecification <TSpec>() ?? new TSpec() as SpecificationBase;

            return(ValidationCatalog.Validate(instance, context.SpecificationContainer, spec));
        }
Exemple #4
0
        public static void Assert(Action <Validates <object> > rules)
        {
            var spec = new SpecificationExpression <object>(rules);

            var vn = ValidationCatalog.Validate(spec.Instance, spec);

            //var vn = spec.Validate(spec.Instance);
            if (!vn.IsValid)
            {
                throw new ValidationException("Invalid " + spec.Instance.GetType().ToString(), vn);
            }
        }
        public static ValidationNotification Validate(object instance, SpecificationBase specificationBase)
        {
            var context = new TContext();

            return(ValidationCatalog.Validate(instance, context.SpecificationContainer, specificationBase));
        }