Ejemplo n.º 1
0
        public string CheckFieldToErrors(FieldNameProvider nameProvider, FieldValueProvider valueProvider)
        {
            var fieldName  = ValidateAndGetName(nameProvider);
            var fieldValue = ValidateAndGetValue(valueProvider);

            return(ValidateField(fieldName, fieldValue));
        }
Ejemplo n.º 2
0
        public void AddValidator(FieldNameProvider nameProvider, string errorHeader, ValidationAction validationAction)
        {
            var fieldName = ValidateAndGetName(nameProvider);

            if (_fieldValidators.All((item) => item.FieldName != fieldName))
            {
                _fieldValidators.Add(new FieldValidator(fieldName));
            }
            _fieldValidators.FirstOrDefault((item) => item.FieldName == fieldName)?.AddValidator(errorHeader, validationAction);
        }
Ejemplo n.º 3
0
        private string ValidateAndGetName(FieldNameProvider nameProvider)
        {
            if (nameProvider == null)
            {
                throw new ArgumentNullException(nameof(nameProvider));
            }
            var name = nameProvider.Invoke();

            if (string.IsNullOrWhiteSpace(name))
            {
                throw new BadProviderException("Provider return not valid value", nameof(nameProvider));
            }

            return(name);
        }
Ejemplo n.º 4
0
        public string CheckFieldToErrors(FieldNameProvider nameProvider, T targetModel)
        {
            if (targetModel == null)
            {
                throw new ArgumentNullException(nameof(targetModel));
            }

            var fieldName      = ValidateAndGetName(nameProvider);
            var targetProperty = _modelType.GetProperty(fieldName);

            if (targetProperty == null)
            {
                return(string.Empty);
            }

            var fieldValue = targetProperty.GetValue(targetModel);

            return(_fieldValidators.Any((item) => item.FieldName == fieldName) ? ValidateField(fieldName, fieldValue) : string.Empty);
        }
Ejemplo n.º 5
0
        public void RemoveValidation(FieldNameProvider nameProvider)
        {
            var fieldName = ValidateAndGetName(nameProvider);

            _fieldValidators.Remove(_fieldValidators.FirstOrDefault((item) => item.FieldName == fieldName));
        }
Ejemplo n.º 6
0
        public void RemoveValidator(FieldNameProvider nameProvider, string errorHeder)
        {
            var fieldName = ValidateAndGetName(nameProvider);

            _fieldValidators.FirstOrDefault((item) => item.FieldName == fieldName)?.RemoveValidator(errorHeder);
        }
Ejemplo n.º 7
0
 public FieldValidator(FieldNameProvider nameProvider) : this()
 {
     FieldName = ValidateAndGetName(nameProvider);
 }