예제 #1
0
 protected static bool ValidateMiddleName(DataItemBase item)
 {
     item.StripRedundantWhiteSpace();
     item.DataControl.SetValue(
         Validation.FixGivenName(item.DataControl.GetValue()));
     return(true);
 }
예제 #2
0
 protected static bool ValidateCityStateZip(DataItemBase item)
 {
     item.StripRedundantWhiteSpace();
     item.DataControl.SetValue(
         Validation.FixCityStateZip(item.DataControl.GetValue()));
     return(true);
 }
예제 #3
0
        public static bool ValidateRequired(DataItemBase item)
        {
            item.StripRedundantWhiteSpace();
            var value = item.Feedback.ValidateRequired(item.DataControl, item.Description,
                                                       out var success);

            if (success)
            {
                item.DataControl.SetValue(ToDisplay(value));
            }
            return(success);
        }
예제 #4
0
 protected static bool ValidateFirstName(DataItemBase item)
 {
     item.StripRedundantWhiteSpace();
     item.Feedback.ValidateRequired(item.DataControl, item.Description,
                                    out var success);
     if (!success)
     {
         return(false);
     }
     item.DataControl.SetValue(
         Validation.FixGivenName(item.DataControl.GetValue()));
     return(true);
 }
예제 #5
0
        protected static bool ValidateSuffix(DataItemBase item)
        {
            item.StripRedundantWhiteSpace();
            var value = item.DataControl.GetValue();

            if (!Validation.IsValidNameSuffix(value))
            {
                item.Feedback.PostValidationError(item.DataControl,
                                                  "We do not recognize the Suffix as valid");
                return(false);
            }
            item.DataControl.SetValue(Validation.FixNameSuffix(value));
            return(true);
        }
예제 #6
0
        protected static bool ValidateMoneyOptional(DataItemBase item)
        {
            item.StripRedundantWhiteSpace();
            var value = item.DataControl.GetValue();

            if (IsNullOrWhiteSpace(value))
            {
                return(true);
            }
            if (!decimal.TryParse(value, NumberStyles.AllowDecimalPoint,
                                  CultureInfo.InvariantCulture, out var d))
            {
                item.Feedback.PostValidationError(item.DataControl, "A dollar value is required");
                return(false);
            }
            item.DataControl.SetValue(d == 0 ? Empty : d.ToString("0.00"));
            return(true);
        }
예제 #7
0
        protected static bool ValidateEmail(DataItemBase item)
        {
            item.StripRedundantWhiteSpace();
            var value = item.DataControl.GetValue();

            if (value.StartsWith("mailto:", StringComparison.OrdinalIgnoreCase))
            {
                value = value.Substring(7);
            }
            if (!IsNullOrWhiteSpace(value) &&
                !Validation.IsValidEmailAddress(value))
            {
                item.Feedback.PostValidationError(item.DataControl,
                                                  "We do not recognize the Email as valid");
                return(false);
            }
            item.DataControl.SetValue(Validation.StripWebProtocol(value));
            return(true);
        }
예제 #8
0
        protected static bool ValidateLastName(DataItemBase item)
        {
            bool success;

            item.StripRedundantWhiteSpace();
            item.Feedback.ValidateRequired(item.DataControl, item.Description,
                                           out success);
            if (!success)
            {
                return(false);
            }
            var value = item.DataControl.GetValue();

            if (!Validation.IsValidLastName(value))
            {
                item.Feedback.PostValidationError(item.DataControl,
                                                  "We do not recognize the Last Name as valid");
                return(false);
            }
            var tokens = value.Trim()
                         .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            if (tokens.Length >= 2)
            {
                if (char.IsLetter(tokens[0][0]) && (tokens[0][1] == '.'))
                {
                    item.Feedback.PostValidationError(item.DataControl,
                                                      "Please use the Middle or Initial field for initials");
                    return(false);
                }
                if (Validation.IsValidNameSuffix(tokens[tokens.Length - 1]))
                {
                    item.Feedback.PostValidationError(item.DataControl,
                                                      "Please use the Suffix field for " + tokens[tokens.Length - 1]);
                    return(false);
                }
            }

            item.DataControl.SetValue(Validation.FixLastName(value));
            return(true);
        }
예제 #9
0
 protected static bool ValidateWhiteSpace(DataItemBase item)
 {
     item.StripRedundantWhiteSpace();
     return(true);
 }
예제 #10
0
 protected static bool ValidateStreet(DataItemBase item)
 {
     item.StripRedundantWhiteSpace();
     item.DataControl.SetValue(Validation.FixAddress(item.DataControl.GetValue()));
     return(true);
 }