示例#1
0
        /// <summary>
        /// Validate
        /// </summary>
        public void Validate()
        {
            var tempList = ValidateStrategyList.Select(strategy => strategy.Validate(Instance)).ToList();

            ResultCollection = new ValidationResultCollection(tempList);
            Handle?.Invoke(ResultCollection.Handle());
        }
示例#2
0
        /// <summary>
        /// 验证
        /// </summary>
        /// <param name="appendAction">追加操作</param>
        public void Validate(Action <ValidationResultCollection> appendAction = null)
        {
            var result = DataAnnotationValidation.Validate(Instance);

            ResultCollection = new ValidationResultCollection(result);
            appendAction?.Invoke(ResultCollection);
            var tempList = ValidateStrategyList.Select(strategy => strategy.Validate(Instance)).ToList();

            if (tempList.Any())
            {
                ResultCollection.AddRange(tempList);
            }
            if (ResultCollection.IsValid)
            {
                return;
            }
            if (Handle == null)
            {
                Handle = op => op.HandleAll(BingConfig.Current.ValidationHandler);// 如果没有处理器操作,则使用默认操作
            }
            Handle.Invoke(ResultCollection.Handle());
        }