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)); }
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)); }