Сложная валидация модели через 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; }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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