|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Привет. Не работает и именно в следующей комбинации. 1. Форма прибайндена к модели Код: html 1.
2. ДТО класс содержит обьявление Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
3. Во вью все это как-то так Код: html 1. 2.
Валидации не происходит. Сообщения об ошибке на экране не видно. Все, что ввел в поле, идет на сервер с веселым хохотом. Почему не работает? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2018, 20:31 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Renziglov, В контроллере на POST методе проверяйте поля. У меня валидация работает вот таким образом: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 09:19 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
dartveider13В контроллереавтор вроде бы спрашивает про валидацию на клиенте... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 09:34 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Shocker.Pro, ну я еще сам не силен особо. Просто предложил свой вариант валидации))) может ТСу подойдет ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 09:39 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
dartveider13свой вариантВалидация на клиенте не отменяет валидацию на сервере, так что это не вариант, а обязательное условие. Но автору нужна подсветочка на клиенте, это требует правильного подключения JS-библиотек и т.п., кстати, вопрос автору, а что-нить более простое типа ограничение длины текстового поля (не ареи) работает? И какая версия MVC? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 09:56 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Renziglov, Скрипты какие подключаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 10:03 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Shocker.Pro, Нет, ни один валидатор не работает. Версия MVC 5, но это не имеет значения - другие экраны работают нормально. Особенность этого экрана - он прибайндивается к расширению ДТО класса. Постараюсь объяснить. Модель в основном состоит из ДТО классов, полученных от WCF сервисов через MEF. Естественно, это плоские классы без всяких аттрибутов для DataAnnotation. Я прикручиваю к члену класса атрибут, но он не прикручивается - нельзя оверрайдить скажем свойство int не задав предикат new, правильно? (Вот тут хорошо бы если б кто сказал "не правильно" и обьяснил, это бы изменило мой подход). Я определяю паршиал класс и там дополняю член Comment, пришедший от WCF, новым обьявлением CommentValidated и к последнему уже прикручиваю аттрибут DataAnnotation. Затем его и байндю. Все как в моем примере выше. Вот эти член класса CommentValidated не валидируются. Остальные, заданные прямо в Модел, работают, но они не приходят от WCF и не представляют интереса. Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 16:45 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Renziglov, К сервисным классам может и не будет работать. Там же классы по сериализации. Приходят из сервиса. Они не твои. Их генератор делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 17:07 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
RenziglovЯ определяю паршиал класс и там дополняю член Comment, пришедший от WCF, новым обьявлением CommentValidated и к последнему уже прикручиваю аттрибут DataAnnotation. Затем его и байндю. Все как в моем примере выше.Я не очень понимаю этот пассаж. Как можно дополнить одно свойство другим свойством? Лучше бы пример кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 17:13 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Shocker.Pro, Вот класс, который приходит от сервиса: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Что я должен делать? Модифицировать его для Дата Аннотэйшн: Код: c# 1. 2. 3.
Но этого делать нельзя - при очередном апдейте все мои модификации исчезнут. Какой выход? Обьявить в проекте расширение этого класса (паршиал, в том же неймспейсе). Обьявил с полем Comment и готов добавить аттрибут, но! Поле коммент уже есть. Но пасаран. Обьявляю поле CommentValidated, как я писал в самом начале. Все ничтяк, но валидация против этого поля не работает. Надеюсь, я понятно изложил. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 17:50 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Renziglov, Т.к. wcf не дружит с ef, то писать репозитарий интерфейс ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 18:49 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
RenziglovОбьявляю поле CommentValidated, как я писал в самом начале. Все ничтяк, но валидация против этого поля не работает. Надеюсь, я понятно изложил.Нет, непонятно. У вас есть класс. В нем есть свойство CommentValidated с нужным атрибутом. Все остальные свойства (например Comment) и само происхождение класса (MVC без разницы кто этот класс создал - вы или сервис) значения не имеют и не влияют на свойство CommentValidated и его атрибуты. Ключевое слово partial также ни на что не влияет - это всего лишь инструкция для компилятора. Таким образом RenziglovОсобенность этого экрана - он прибайндивается к расширению ДТО класса.эта особенность ни на что не влияет, нужно найти еще какую-то особенность, которая влияет, не зацикливайтесь на partial. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2018, 08:25 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Посмотрите результирующий html на клиенте. Сравните атрибуты textarea с работающей валидацией и textarea для CommentValidated ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2018, 08:31 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Renziglovприбайндивается к расширениюи еще - не путайте себя и других, partial - это не расширение, обычно используется термин "разделяемый". У всех частей класса, разбитого на partial части приоритет совершенно одинаковый и ни одна из частей не является расширением другой. Это один и тот же класс, объявленный в нескольких местах. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2018, 08:34 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
Renziglov, Вы можете указать для биндинга модель, откуда брать атрибуты валидации, если исходные классы менять нет возможности. https://msdn.microsoft.com/ru-ru/library/system.componentmodel.dataannotations.metadatatypeattribute.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2018, 01:43 |
|
Почему не работает клиентская валидация (ASP.NET MVC)?
|
|||
---|---|---|---|
#18+
RenziglovЧто я должен делать? Модифицировать его для Дата Аннотэйшн: Код: c# 1. 2. 3.
Но этого делать нельзя - при очередном апдейте все мои модификации исчезнут. Смотрите ссылку, которую я привёл, там пример есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2018, 01:44 |
|
|
start [/forum/topic.php?fid=17&msg=39686197&tid=1349174]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 283ms |
0 / 0 |