AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Kalite ve teknik borç › Items › TD-18

`DBBase.IsValidate` semantiği ters, yalnız 4 tipte doğrulama

TECH_DEBTERPGOLD_COREACTIVEVERY_HIGHSOURCE_IMPLEMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Etki: VB · Öncelik: P2 · Doğrulama: VERIFIED (ayrıntı)

Kaynak: KB-docs quality/technical-debt.md (tam kod taraması, 2026-09-10). Alanlar: Risk · Evidence · Impact · Recommendation · Priority — KB-docs metninde gömülü; aşağıda korunmuştur.

  • Nerede: ERPPRO/Class/Dao/Base.vb:116-121 (Validate(Obj, ByRef Cancel), IsValid=True ile çağrılır, aynen döner); tek dinleyici Class/Module/Program.vb:4,20-30 (Validated anlamında yazar; Parcakarti/Takimkarti/Paket/Modelkarti). Çağıranlar: Class/Dao/Siparis.Parcakarti.vb:220, Form/Siparis/FrmModelKartıEkle.vb:100, FrmTakimEkle.vb:36, FrmPaketEkle.vb:39, FrmParcaKartiEkle.vb:93.
  • Etki: VB — dinleyicisi olmayan/ikinci dinleyici eklenen tiplerde doğrulama yanlış anlamda çalışır; olay Shared olduğu için Program statik kurucusu çalışmadan hiçbir doğrulama yapılmaz.
  • Kanıt: satırlar yukarıda. Mimari referans §9-10 "fiilen devre dışı" → kodda: 4 tip için çalışıyor, diğerlerinde doğrulama yok, parametre adı ters (ayrıntı, CONTRADICTS değil).
  • Öneri: Validate sanal metodu (Overridable Function Validate() As ValidationResult); olay tabanlı doğrulamayı kaldırmak.
  • Öncelik: P2.