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); }