Пример #1
0
        internal static PropertyValidations <T> MustBeNull <T>(this PropertyValidations <T> validator)
        {
            if (validator.Property != null)
            {
                validator.AddError($"{validator.Alias} must be null");
            }

            return(validator);
        }
Пример #2
0
        internal static PropertyValidations <T> MustBeDefault <T>(this PropertyValidations <T> validator)
        {
            if (!validator.Property.Equals(default(T)))
            {
                validator.AddError($"{validator.Alias} must be default");
            }

            return(validator);
        }
Пример #3
0
        //**************************************************
        //* Object validations
        //**************************************************


        internal static PropertyValidations <T> CannotBeNull <T>(this PropertyValidations <T> validator)
        {
            if (validator.Property == null)
            {
                validator.AddError($"{validator.Alias} cannot be null");
            }

            return(validator);
        }
Пример #4
0
        internal static PropertyValidations <string> MustBeEmpty(this PropertyValidations <string> validator)
        {
            if (validator.Property != string.Empty)
            {
                validator.AddError($"{validator.Alias} must be empty");
            }

            return(validator);
        }
Пример #5
0
        internal static PropertyValidations <int> MustBeLessThan(this PropertyValidations <int> validator, int threshold)
        {
            if (!(validator.Property < threshold))
            {
                validator.AddError($"{validator.Alias} must be less than {threshold}");
            }

            return(validator);
        }
Пример #6
0
        internal static PropertyValidations <int> MustBeLessThanOrEqualTo(
            this PropertyValidations <int> validator,
            int threshold)
        {
            if (validator.Property > threshold)
            {
                validator.AddError($"{validator.Alias} must be less than or equal to {threshold}");
            }

            return(validator);
        }
Пример #7
0
        internal static PropertyValidations <T> IfThen <T>(
            this PropertyValidations <T> validator,
            bool condition,
            Func <PropertyValidations <T>, PropertyValidations <T> > doIfTrue)
        {
            if (condition)
            {
                doIfTrue.Invoke(validator);
            }

            return(validator);
        }
Пример #8
0
        internal static PropertyValidations <T> MustEqual <T>(
            this PropertyValidations <T> validator,
            T objectToCompare,
            string objectToCompareAlias = null)
        {
            if (!validator.Property.Equals(objectToCompare))
            {
                objectToCompareAlias = objectToCompareAlias ?? nameof(objectToCompare);
                validator.AddError($"{validator.Alias} must equal {objectToCompareAlias}");
            }

            return(validator);
        }
Пример #9
0
        //**************************************************
        //* ICollection<T> validations
        //**************************************************


        internal static PropertyValidations <ICollection <TModel> > ValidateEnumerable <TModel>(
            this PropertyValidations <ICollection <TModel> > validations,
            Action <EnumerablePropertyValidation <TModel> > action)
        {
            if (validations.Property == null)
            {
                throw new NullReferenceException("Collection cannot be null to validate.");
            }

            foreach (var model in validations.Property)
            {
                var enumerablePropertyValidation =
                    new EnumerablePropertyValidation <TModel>(model, validations.Identifier);
                action.Invoke(enumerablePropertyValidation);
            }

            return(validations);
        }