Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }