Beispiel #1
0
        public static bool Validate(List <Tuple <string, string, ValidationType> > input,
                                    ref ObservableDictionary <string, string> errors)
        {
            errors.Clear();

            bool ok = true;

            foreach (var pair in input)
            {
                var res = Validate(pair.Item1, pair.Item3);
                if (!res.Equals(ValidationStatus.Ok))
                {
                    FillErrors(res, pair.Item2, pair.Item3, ref errors);
                    ok = false;
                }
            }

            return(ok);
        }
Beispiel #2
0
        /// <summary>
        /// Sets error messages into observable dictionary.
        /// </summary>
        /// <param name="status">Result of validation</param>
        /// <param name="errors">Dictionary containing error messages.</param>
        private static void FillErrors(ValidationStatus status,
                                       string key,
                                       ValidationType type,
                                       ref ObservableDictionary <string, string> errors)
        {
            if (status.Equals(ValidationStatus.Ok))
            {
                return;
            }

            if (status.HasFlag(ValidationStatus.Empty))
            {
                errors[key] = Constants.FieldIsRequired;
            }
            else if (status.HasFlag(ValidationStatus.LoginInvalid))
            {
                errors[key] = Constants.LoginInvalid;
            }
            else if (status.HasFlag(ValidationStatus.PasswordShort))
            {
                errors[key] = Constants.PasswordShort;
            }
            else if (status.HasFlag(ValidationStatus.PhoneInvalid))
            {
                errors[key] = Constants.PhoneInvalid;
            }
            else if (status.HasFlag(ValidationStatus.EmailInvalid))
            {
                errors[key] = Constants.EmailInvalid;
            }
            else if (status.HasFlag(ValidationStatus.VkLinkInvalid))
            {
                errors[key] = Constants.VkLinkInvalid;
            }
            else if (status.HasFlag(ValidationStatus.CategoryInvalid))
            {
                errors[key] = Constants.CategoryEmpty;
            }
        }