Сложная валидация модели через System.ComponentModel.DataAnnotations - C#

Узнай цену своей работы

Формулировка задачи:

Мне нужно реализовать валидацию свойства, которая должна учесть значение другого свойства. Только через атрибуты валидации сделать такое нельзя (но, хотелось бы, конечно). Была идея написать атрибут, который хранил бы имя метода, дополнительной валидации:
    [AttributeUsage(Targets)]
    public class SpecificValidation : ValidationAttribute
    {
        private readonly string _staticMethodName;
 
        public SpecificValidation(string staticMethodName, Type ownerType)
            => _staticMethodName = staticMethodName;
 
        public override bool IsValid(object value)
        {
            
        }
    }
Через рефлексию, реализовать предназначение атрибута SpecificValidation. Но, может, есть, что-то более простое. И зачем нужен ValidationContext?

Решение задачи: «Сложная валидация модели через System.ComponentModel.DataAnnotations»

textual
Листинг программы
[Name(UnitNameDescription, nameof(UnitNameVisibility), Visibility.Visible)]
        public string UnitName { get; set; }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы