///<summary>Constructor accepting the property to check</summary> public ValidatingSerializerEventArgs(IValidatingSerializer Checking, object O, string Name) { Check = O; Value = (O == null)?"":O.ToString(); Field = Name; this.Checking = Checking; }
/// <summary>Calls basic Validator and bubbles errors up to V.</summary> public static void Validate(IValidatingSerializer I, IValidatingSerializer V, string PropertyName) { I.Validate(); if (I.Errors != null) { V.Errors = I.Errors.Bubble(V.Errors, PropertyName); } I.Errors = null; }
/// <summary> /// If E is not null, first checks to see if Errors is null and initializes it, /// then adds e to the collection. /// </summary> public static void AddError(IValidatingSerializer I, ErrorInfo E) { if (E == null) { return; } if (I.Errors == null) { I.Errors = new ArrayOfErrorInfo(); } I.Errors.Add(E); }
/// <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; } } }
///<summary>Constructor accepting the Validator to check</summary> public ValidatingSerializerEventArgs(IValidatingSerializer Checking) : this(Checking, Checking, "") { }
/// <summary>Calls basic Validator and bubbles errors up to V.</summary> public void Validate(IValidatingSerializer V, string PropertyName) { IVS.Validate(this, V, PropertyName); }