FluentValidation dan foydalanilganda ViewModel uchun domen modeli tekshirish xatolarini xaritalash

Men bu yerda odamlar bu haqda qanday qilib to'g'ri yo'l ko'rsatishi mumkinligiga umid qilyapman deb umid qilaman.

Hozir menda ekranni ko'rsatish uchun foydalanadigan ViewModel bor. Ko'rish modeli aslida bir nechta domen modellarining yassilangan ma'lumotlarini o'z ichiga oladi. ViewModelni asosiy tekshiruvni bajarish uchun atributlar bilan bezatdim, lekin haqiqiy tasdiqlash ishi xizmat ko'rsatadi. Muammo xizmat ko'rsatish sathida tasdiqlash xatoligi mavjud bo'lganda yuzaga keladi. Mulk nomi (ya'ni - foydalanuvchi nomi) ModelState ichidagi yozuvga mos kelmaydi (ya'ni - RegistrationViewModel.UserName).

Buning qanday amalga oshirilishi haqida har kimda tavsiyalar bormi?

Oldindan rahmat!

Steven

1

2 javoblar

Ehtimol, sizning savolingizga javob emas, lekin men odatda bunday yo'l tutaman:

Domen modelida men hech qanday tekshiruv ramkasidan foydalanmayman va foydalanuvchi bilan do'stona xato xabarlarini berish uchun foydalanmayman. Men har doim modelning haqiqiy holatda ekanligiga ishonch hosil qilaman. Yaroqsiz qiymat o'rnatilganda istisno qo'yaman (mulk sozlagichlarida). Domen ob'ektlarining konstruktorlarini odatdagi qiymatlar va konstruktor parametrlaridan foydalanib, har doim ularni haqiqiy holatga tushirish uchun ishlataman. Haqiqiy oddiy, ammo kuchli, chunki siz har doim modelingiz haqiqiy holatda ekanligiga ishonch hosil qilishingiz mumkin. Sizning domeningiz moslamalarini aniq ishonch bilan tekshirishingiz kerak. Ushbu yondashuv ham orm bilan yaxshi ishlaydi.

Shuning uchun men faqatgina foydalanuvchi dost xabarlarini berish uchun viewmodelda ravon tekshiruvdan foydalanaman.

1
qo'shib qo'ydi
bu yondashuv bilan bog'liq muammolar men biznesni tekshirish mantig'ini (murakkab qoidalar oddiy oddiy maydon talab qilinadigan turdagi) o'tkazish bilan shug'ullanishim kerak, shunda men yaxshi xabar olsam bo'ladi. Men bu yaxshi yondashuv ekanligiga ishonmayman.
qo'shib qo'ydi muallif Steven, manba

bu eng katta yechim emas, lekin oxir-oqibat men asosan mijozlar tomonidan tekshirilishga asoslanib, asosiy dalillarni tasdiqlashni ko'rsatishga harakat qilaman, bu o'tgan narsalarning o'tmishini va xizmatda tekshirilganligini tasdiqlash xulosasida ko'rinadi.

0
qo'shib qo'ydi