コード例 #1
0
        public override void OnEntry(MethodExecutionArgs args)
        {
            var validator  = (IValidator)Activator.CreateInstance(_validatorType);
            var entityType = _validatorType.BaseType.GetGenericArguments()[0];
            var entities   = args.Arguments.Where(t => t.GetType() == entityType);

            foreach (var item in entities)
            {
                ValidatorTool.FluentValidation(validator, item);
            }
        }
コード例 #2
0
        //methoda girdiğinde
        public override void OnEntry(MethodExecutionArgs args)
        {
            //depenceny injection ile hangi validatin gönderildiğini bulduk
            //onun instance oluşturduk
            var validator = (IValidator)Activator.CreateInstance(_validatorType);
            //oluşturulan instance ın hangi entity kullandığını bulduk
            var entityType = _validatorType.BaseType.GetGenericArguments()[0];
            //validate edilecek entitileri buluyoruz.
            //args çalışılacak metodla ilgili bilgilere ulaşmaya yarar
            //metoddaki parametleri geziyorum ve tipi benim validate edeçeğim entitiyi buluyorum
            var entities = args.Arguments.Where(t => t.GetType() == entityType);

            foreach (var entity in entities)
            {
                ValidatorTool.FluentValidation(validator, entity);
            }
        }