Example #1
0
        public static ValidatorContainer <T> NotNullOrEmpty <T>(this ValidatorContainer <T> container, bool stopWhileFail)
        {
            if (container == null)
            {
                return(null);
            }

            if (container.ValidatorObject == null || string.IsNullOrEmpty(container.ValidatorObject.ToString().Trim()))
            {
                string errorMessage = string.Format("请填写 {0}!", container.ValueName);
                //container.ErrorList.Add(errorMessage);
                container.AddError(errorMessage);

                if (stopWhileFail)
                {
                    return(null);
                }
            }
            return(container);
        }
Example #2
0
        /// <summary>
        /// 检测是否有危险的可能用于链接的字符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="container"></param>
        /// <param name="stopWhileFail"></param>
        /// <returns></returns>
        public static ValidatorContainer <T> IsSafeUserInfoString <T>(this ValidatorContainer <T> container, bool stopWhileFail)
        {
            if (container == null)
            {
                return(null);
            }

            Regex emailExpression = new Regex(@"^\s*$|^c:\\con\\con$|[%,\*" + "\"" + @"\s\t\<\>\&]|游客|管理员|^Guest|admin", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase);

            if (emailExpression.IsMatch((container.ValidatorObject.ToString())))
            {
                string errorMessage = string.Format("{0}中存在非法字符!", container.ValueName);
                container.AddError(errorMessage);
                if (stopWhileFail)
                {
                    return(null);
                }
            }
            return(container);
        }
Example #3
0
        /// <summary>
        /// 检测是否有Sql危险字符
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="container"></param>
        /// <param name="stopWhileFail"></param>
        /// <returns></returns>
        public static ValidatorContainer <T> IsSafeSqlString <T>(this ValidatorContainer <T> container, bool stopWhileFail)
        {
            if (container == null)
            {
                return(null);
            }

            Regex emailExpression = new Regex(@"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase);

            if (emailExpression.IsMatch((container.ValidatorObject.ToString())))
            {
                string errorMessage = string.Format("{0}中存在非法字符!", container.ValueName);
                container.AddError(errorMessage);
                if (stopWhileFail)
                {
                    return(null);
                }
            }
            return(container);
        }
Example #4
0
        public static ValidatorContainer <T> Regex <T>(this ValidatorContainer <T> container, string expression, string failMessageFormat, bool stopWhileFail)
        {
            if (container == null)
            {
                return(null);
            }

            Regex emailExpression = new Regex(expression, RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase);

            if (!emailExpression.IsMatch((container.ValidatorObject.ToString())))
            {
                string errorMessage = string.Format(failMessageFormat, container.ValueName);
                container.AddError(errorMessage);
                if (stopWhileFail)
                {
                    return(null);
                }
            }
            return(container);
        }
Example #5
0
        public static ValidatorContainer <T> IsNumber <T>(this ValidatorContainer <T> container, float?min, float?max, bool stopWhileFail)
        {
            if (container == null)
            {
                return(null);
            }
            min = min ?? float.MinValue;
            max = max ?? float.MaxValue;
            float tryFloat;

            if (!float.TryParse(container.ValidatorObject.ToString(), out tryFloat) || tryFloat < (float)min || tryFloat > (float)max)
            {
                string errorMessage = string.Format("请输入正确的{0}", container.ValueName);
                container.AddError(errorMessage);
                if (stopWhileFail)
                {
                    return(null);
                }
            }
            return(container);
        }
Example #6
0
        public static ValidatorContainer <T> Exclude <T>(this ValidatorContainer <T> container, string[] excludeStrings, bool stopWhileFail)
        {
            if (container == null)
            {
                return(null);
            }

            foreach (var str in excludeStrings)
            {
                if (container.ValidatorObject.ToString().Contains(str))
                {
                    string charts       = string.Join(",", excludeStrings).Replace(" ", "空格").Replace(" ", "全角空格");
                    string errorMessage = string.Format("{0}中包含了不允许使用的特殊字符:{1}", container.ValueName, str);
                    container.AddError(errorMessage);
                    if (stopWhileFail)
                    {
                        return(null);
                    }
                }
                return(container);
            }
            return(container);
        }