/// <summary> /// 全プロパティの検証エラー取得 /// </summary> /// <param name="context"></param> /// <returns></returns> public static List <ValidationResult> GetAllPropsErrors(this ForValidation forValidation) { var ret = new List <ValidationResult>(); var ctx = forValidation.Context; foreach (var prop in forValidation.GetTargetPropValues().Keys) { ctx.MemberName = prop; ret.AddRange(forValidation.GetPropErrors(prop)); } return(ret); }
/// <summary> /// 全プロパティの最優先検証エラー取得 /// </summary> /// <param name="context"></param> /// <returns></returns> public static List <ValidationResult> GetAllFisrtValidationErrors(this ForValidation forValidation) { var firsts = ValidationConfig.FirstValidationAttributesProvider.Invoke(); var context = forValidation.Context; var ret = new List <ValidationResult>(); foreach (var prop in forValidation.GetTargetPropValues().Keys) { var value = forValidation.GetTargetPropValue(prop); var firstVAs = forValidation.GetValidationAttributes(prop).Where(va => firsts.Contains(va.GetType())); foreach (var va in firstVAs) { var ctx = new ValidationContext(context.ObjectInstance, context, context.Items); ctx.MemberName = prop; ret.AddErrors(ctx, va, value); } } return(ret); }