コード例 #1
0
 ///<summary>Validate event function.</summary>
 public virtual void OnValidate(ValidatingSerializerEventArgs e)
 {
     if (Validation != "")
     {
         e.Checking
         .GetType()
         .GetMethod(Validation, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
         .Invoke(e.Checking, new object[] { this, e });
     }
     else
     {
         e.Error = (Check(e.Value))?null:new ErrorInfo(this, e.Field);
     }
 }
コード例 #2
0
        /// <summary>Loops through the Validator attributes provided.</summary>
        public static void Validate(IValidatingSerializer I, MemberInfo M, ValidatingSerializerEventArgs e)
        {
            ArrayList V = new ArrayList();

            V.AddRange(M.GetCustomAttributes(typeof(ValidatorAttribute), true));
            V.Sort();
            foreach (ValidatorAttribute A in V)
            {
                A.OnValidate(e);
                I.AddError(e.Error);
                if (I.Errors != null && I.Errors.Count > 0)
                {
                    break;
                }
            }
        }