Exemple #1
0
 /// <summary>
 /// Checks all validation properties and throws an exception
 /// if there is a problem
 /// </summary>
 internal virtual void EnforceRequiredFields()
 {
     PropertyInfo[] properties = this.GetType()
                                 .GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
     foreach (PropertyInfo property in properties)
     {
         object[] validationAttributes = property.GetCustomAttributes(typeof(ValidationAttribute), false);
         if (validationAttributes != null)
         {
             for (int i = 0; i < validationAttributes.GetLength(0); i++)
             {
                 ValidationAttribute rule = validationAttributes[i] as ValidationAttribute;
                 // Rule throws an exception if not valid
                 rule.EnforceValid(property.GetValue(this, null), property.Name);
             }
         }
     }
 }