internal static void ValidateMaximumNumericValue(this FormElementElement element)
        {
            string  maximumValue = element.GetAttributeValue("max");
            decimal maximumNumericValue;

            try
            {
                maximumNumericValue = decimal.Parse(maximumValue);
            }
            catch
            {
                return;
            }

            decimal elementValue;

            try
            {
                elementValue = decimal.Parse(element.Value);
            }
            catch
            {
                throw new FormElementValidationException("Invalid element value.");
            }

            if (elementValue > maximumNumericValue)
            {
                throw new FormElementValidationException(string.Format("Value must be less than or equal to {0}.", maximumValue));
            }
        }
        /// <summary>
        /// An extension method for minimum length validation
        /// </summary>
        /// <param name="element"></param>
        internal static void ValidateMinimumLength(this FormElementElement element)
        {
            int?minLength = element.ParseNonNegativeIntegerAttribute("minlength", 0);

            if (element.Value.Length < minLength)
            {
                throw new FormElementValidationException(string.Format("Please lengthen this text to {0} characters or more (you are currently using {1} characters)", minLength, element.Value.Length));
            }
        }
        internal static void ValidatePattern(this FormElementElement element)
        {
            string pattern = element.GetAttributeValue("pattern");

            if (!string.IsNullOrWhiteSpace(pattern))
            {
                Regex           expression = new Regex(pattern);
                MatchCollection matches    = expression.Matches(element.Value);
                if (matches.Count == 0)
                {
                    string title   = element.GetAttributeValue("title");
                    string message = string.Empty;
                    if (title != null)
                    {
                        message = string.Format("\r\n{0}", title);
                    }

                    throw new FormElementValidationException(string.Format("Please match the requested format.{0}", message));
                }
            }
        }