Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
Всем привет! Ребят подскажите где затык. Есть у меня солюшн, в нем два проекта WEB(сам сайт) и BLL (бизнес логика) в WEB есть стандартная форма логина, там ClientValidation отрабатывает нормально, даже создавал тестовый класс в WEB, с параметрами: [Required] [StringLength(9, ErrorMessage = "Номер должен быть равен 9 знакам.", MinimumLength = 9)] он также отрабатывает, то есть не подключенный скрипт или неправильный конфиг отпадает, так как в WEB работает валидация НО естественно все мои модели хранятся в BLL и вот если я в WEB заполняю представление, на котором модель с BLL - валидация нивкакую не работает. Скрипты проверял, подгружаются. Дополнение - возможно ключ к разгадке: Достался мне другой проект в сопровождение, так такая же схема (WEB + BLL), так вот там, валидация проходит как положено. Я Свой проект, что описал выше делал по аналогии (настройку солюшина, связь WEB с BLL) с этим проектом, все одинаково, но в этом проекте в BLL достаточно сделать любое изменение и в WEB это изменение видно. в то время как в моем верхнем проекте (у которого глюк с валидацией), чтобы увидеть изменения в BLL, этот BLL нужно билднуть, а затем только WEB видит что же я там изменил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 19:32 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
Sputnick, не используйте модели из BLL, как вью модели. и будет вам счастье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 19:34 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
hVostt, спасиб, а можно чуть подробней.... как же мне их использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 19:41 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
SputnickhVostt, спасиб, а можно чуть подробней.... как же мне их использовать? делайте вью-модели в (как вы это называете) WEB-проекте. отражайте данные из BLL во вью-модели и проблем не будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 19:46 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
hVostt, получается дублирование модели, это конечно "копейки" но как то странно создавать дубль.... как же тогда в том проекте работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 20:01 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
SputnickhVostt, получается дублирование модели, это конечно "копейки" но как то странно создавать дубль.... как же тогда в том проекте работает? дубли только на первый взгляд. отличий несколько. 1. атрибуты. валидация, наименование и другие атрибуты нужные для отображения (вью) должны быть у вью-модели и не должно быть их у моделей BLL. потому что BLL ничего не должен знать о том, как будут отображены данные и какая логика валидации будет реализована. 2. во вью-модели может быть больше или меньше информации, что предоставляется в модели BLL. другими словами во вью-модели должно быть ровно столько информации, сколько будет отображено. в BLL может быть много технической информации (дата создания, маркер "удалено", права доступа и т.п.), которой непозволительно быть доступной во вью. 3. вью-модель должна работать независимо от наличия или отсутствия BLL. например, разные команды работают одни над моделью, другие над отображением. и не должны сильно зависеть друг от друга. конечно кортежи данных должны быть согласованы, но прямой зависимости быть не должно. 4. контроллеры и вью должы быть отдельно тестируемы, без зависимости от BLL. ну в общем как-то так. а дальше думайте сами :) перекидывать данные из BLL во вью-модели можно с помощью Automapper, чтобы уменьшить количество кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 20:26 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
Sputnickкак же тогда в том проекте работает поймите, что модели BLL и вью-модели — совершенно разные понятия. цели и семантика разные. не стоит одно выдавать за другое. и вот в чем конкретно может быть ваша проблема: http://stackoverflow.com/questions/5717033/stringlength-vs-maxlength-attributes-asp-net-mvc3-with-ef-4-1-code-first ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 20:39 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
SputnickhVostt, получается дублирование модели, это конечно "копейки" но как то странно создавать дубль.... как же тогда в том проекте работает? Это разделение ответственности. Всё остальное вторично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 22:20 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
hVostt, МСУ спасибо большое за подробные объяснения, теперь понятно про бизнес модель и модель представления. hVostt спасибо, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 11:06 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
Sputnick, самое главное, чтобы ты понимал идею: может использоваться комбинация из нескольких моделей BLL. В этом случае n-моделей бизнес логики уже не прикрутишь к View, как ты изначально хотел. Логично? А в случае архитектуры с моделью представления прикрутишь. Модель представления - это только то, что нужно для работы конкретного View. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 11:15 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
МСУ, действительно, получается очень гибко и полностью принцип разделения соблюдается. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 11:38 |
|
||
|
ASP MVC 4 - ClientValidation не работает. Шарада
|
|||
|---|---|---|---|
|
#18+
каково же было мое удивление, когда валидация так и НЕ заработала ))))))) опять проверял все вдоль и поперек, оказалось есть нюанс с паршил вью, чтоб валидация на нем работала, нужно сделать: Код: javascript 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 12:58 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38471932&tid=1357928]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 358ms |

| 0 / 0 |
