Адлюстраванне дамена мадэль Validation Памылка ў ViewModel пры выкарыстанні FluentValidation

Я спадзяюся, што людзі тут можа даць мне некаторыя ідэі аб тым, як правільна гэта зрабіць.

У цяперашні час у мяне ёсць ViewModel, які я выкарыстоўваю, каб зрабіць свой экран. View мадэль фактычна ўтрымлівае уплощенный дадзеныя некалькіх мадэляў прадметнай вобласці. Я ўпрыгожыў ViewModel з атрыбутамі зрабіць базавую праверку, але рэальная праца праверка адбываецца на ўзроўні сэрвісу. Праблема ўзнікае, калі ёсць памылка праверкі на ўзроўні абслугоўвання. Імя ўласцівасці (гэта значыць - UserName) не адпавядае запісу ў ModelState (г.зн. - RegistrationViewModel.UserName).

Хто-небудзь ёсць рэкамендацыі аб тым, як справіцца з гэтым?

Загадзя дзякую!

Стывен

1

2 адказы

Можа быць, не адказ на ваша пытанне, але гэта, як я звычайна падыходзіць да гэтага:

У мадэлі дамена я не выкарыстоўваю любыя рамкі праверкі, і я не выкарыстоўваю яго, каб даць карыстачу паведамленні пра памылкі. Я заўсёды пераканайцеся, што мадэль знаходзіцца ў дапушчальным стане. Я кідаю выключэнне, калі недапушчальнае значэнне усталёўваецца (у сетары ўласнасці). Я выкарыстоўваю канструктар аб'ектаў прадметнай вобласці, каб заўсёды атрымліваць іх у карэктным стане, калі асобнік, выкарыстоўваючы значэнні па змаўчанні і параметры канструктара. Рэальная просты, але магутны, таму што вы заўсёды можаце быць упэўнены, што ваша мадэль знаходзіцца ў дапушчальным стане. Вы павінны блок праверыць свае аб'екты дамена, каб быць абсалютна упэўненым. Гэты падыход таксама выдатна працуе з ОРМ-х.

Такім чынам, я выкарыстоўваю толькі беглы праверкі на ViewModel, каб даць карыстачу падрабязныя паведамленні.

1
дададзена
Праблема з гэтым падыходам, я б затрымаўся правядзенне маёй логікі праверкі бізнесу (складаныя правілы супраць проста поля патрабуецца тып) у карыстацкім інтэрфейс толькі так я магу атрымаць лепшае паведамленне. Я не лічу, што гэта добры падыход.
дададзена аўтар Steven, крыніца

гэта не самае вялікае рашэнне, але ў рэшце рэшт я, абапіраючыся на маёй асноўнай праверку на баку кліента, каб паказаць асноўныя палявыя валідацыю, усё, што атрымаць Мінулае, што і пацверджаны ў сэрвісе адлюстроўваецца ў зводцы праверкі.

0
дададзена