Wyłączenie walidacji dla konkretnego modelu

0

Witam,

Mam pewna klasę w której jest referencja do innej, podczas tworzenia nowego obiektu "ModelState" sprawdza mi walidacje czy jest poprawna dla tej klasy, jednak mam taka potrzebę w pewnym przypadku aby wyłączyć walidacje dla klasy która jest w tej referencji. Ponieważ przy zapisie do bazy danych w referencji tej klasy potrzebuję wypełniać jedynie pola ID i reszty nie mam konieczności wypełniać przez co "ModelState" nie chce mi przepuścić obiektu:

public class ClassroomViewModel
    {
        [HiddenInput(DisplayValue = false)]
        public int Classroom_Id { get; set; }
        
        [Required]
        [Display(Name = "Nazwa")]
        [StringLength(30)]
        public string Name { get; set; }

        [Required]
        [Display(Name = "Skrót")]
        [StringLength(10)]
        public string ShortName { get; set; }

        [Required]
        [Display(Name = "Pojemność klasy")]
        [Range(1, 999, ErrorMessage="Pojemność twojej klasy jest niepoprawna")]
        public int Capacity { get; set; }

        [Display(Name = "Przeznaczenie klasy")]
        public SubjectViewModel Subject { get; set; } // dla tej referencji chciałbym wyłączyć walidację
    }

public class SubjectViewModel
    {
        [HiddenInput(DisplayValue = false)]
        public int Subject_Id { get; set; }

        [Required]
        [Display(Name = "Nazwa")]
        [StringLength(30)]
        public string Name { get; set; }

        [Required]
        [Display(Name = "Skrót")]
        [StringLength(10)]
        public string ShortName { get; set; }

        [Display(Name = "Opiekun grupy")]
        public bool GroupLeader { get; set; }
    }
0

Problem rozwiązany wyłączyłem walidację dla pól które mnie interesowały:

if (obj.Subject != null)
            {
                ModelState.Remove("Subject.Name");
                ModelState.Remove("Subject.Shortname");
                   
                if (obj.Subject.Subject_Id == 0)
                {
                    obj.Subject = null;
                }
            }

1 użytkowników online, w tym zalogowanych: 0, gości: 1