コード例 #1
0
        public static List <IValidator> GetValidatorsByGroup(ValidatorCollection valColl, string validationGroup)
        {
            List <IValidator> groupValidators = new List <IValidator>();

            valColl.Cast <IValidator>().ToList().ForEach(delegate(IValidator iVal)
            {
                Type valType = iVal.GetType();

                switch (valType.Name.ToString())
                {
                case "CustomValidator":
                    CustomValidator val1 = (CustomValidator)iVal;
                    if (val1.ValidationGroup == validationGroup)
                    {
                        groupValidators.Add(val1);
                    }
                    break;

                case "RequiredFieldValidator":
                    RequiredFieldValidator val2 = (RequiredFieldValidator)iVal;
                    if (val2.ValidationGroup == validationGroup)
                    {
                        groupValidators.Add(val2);
                    }
                    break;

                case "CompareValidator":
                    CompareValidator val3 = (CompareValidator)iVal;
                    if (val3.ValidationGroup == validationGroup)
                    {
                        groupValidators.Add(val3);
                    }
                    break;

                case "RegularExpressionValidator":
                    RegularExpressionValidator val4 = (RegularExpressionValidator)iVal;
                    if (val4.ValidationGroup == validationGroup)
                    {
                        groupValidators.Add(val4);
                    }
                    break;

                case "RangeValidator":
                    RangeValidator val5 = (RangeValidator)iVal;
                    if (val5.ValidationGroup == validationGroup)
                    {
                        groupValidators.Add(val5);
                    }
                    break;

                default:
                    throw new Exception(valType.ToString() + ": Add this type to the switch -> Helpers.GetValidatorsByGroup().");
                }
            });

            return(groupValidators);
        }