示例#1
0
        public bool Validate(Entity entity)
        {
            var instance = entity.CreateIntance();
            var context  = new ValidationContext(instance);
            var isValid  = true;

            foreach (var property in entity.Properties)
            {
                if (property.TypeInfo.IsFile)
                {
                    var result = _fileValidator.Validate(property);
                    if (result == false)
                    {
                        isValid = false;
                    }
                }
                foreach (var validator in property.ValidationAttributes)
                {
                    try
                    {
                        validator.Validate(property.Value.Raw, context);
                    }
                    catch (ValidationException ex)
                    {
                        isValid = false;
                        _notificator.AddModelError(property.Name, ex.Message);
                    }
                    catch (Exception ex)
                    {
                        _log.Error(ex);
                    }
                }
            }
            return(isValid);
        }
示例#2
0
        public bool Validate(EntityRecord entityRecord)
        {
            var instance = entityRecord.CreateInstance();
            var context  = new ValidationContext(instance);
            var isValid  = true;

            foreach (var propertyValue in entityRecord.Values.WhereIsNotSkipped())
            {
                if (propertyValue.Property.TypeInfo.IsFile)
                {
                    var result = _fileValidator.Validate(propertyValue);
                    if (result == false)
                    {
                        isValid = false;
                    }
                }

                context.DisplayName = propertyValue.Property.Display;
                foreach (var validator in propertyValue.Property.Validators)
                {
                    try
                    {
                        validator.Validate(propertyValue.Raw, context);
                    }
                    catch (ValidationException ex)
                    {
                        isValid = false;
                        _notificator.AddModelError(propertyValue.Property.Name, ex.Message);
                    }
                    catch (Exception ex)
                    {
                        _log.Error(ex);
                    }
                }
            }
            return(isValid);
        }