|
Как заставить валидатор в представлении "проглатывать" дату в русском формате дд.мм.гггг
|
|||
---|---|---|---|
#18+
Имею поле в БД (или классе) типа DateTime. При вводе даты в обычном русском форма-те типа «26.11.2018» валидатор в представлении ругается, что это не дата (см. рисунок). Понимает лишь нестандартные варианты типа «26/11/2018» или «26-11-2018». Знаю, что в контроллере эта ситуация исправляется следующим образом: Код: html 1. 2. 3. 4.
Однако валидатор в представлении срабатывает ещё ДО отправки информации на сервер/в контроллер. И как тут быть? Куда засунуть эту глобализацию? Вот фрагмент кода представления, а на рисунке ниже результат: Код: html 1. 2. 3. 4. 5. 6. 7.
Подозреваю, что это можно прописать в каком-нибудь конфиге, но где и как не знаю. Можно, конечно, объехать эту ситуацию на «кривой козе», но хотелось бы понять в чём тут загвоздка. С уважением ВВГ ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2018, 10:47 |
|
Как заставить валидатор в представлении "проглатывать" дату в русском формате дд.мм.гггг
|
|||
---|---|---|---|
#18+
ValGer, дополнение к предыдущему - рисунок ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2018, 11:18 |
|
Как заставить валидатор в представлении "проглатывать" дату в русском формате дд.мм.гггг
|
|||
---|---|---|---|
#18+
результаты гугления уже были изучены? https://yandex.ru/search/?text=asp net mvc validation localization date ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2018, 11:19 |
|
Как заставить валидатор в представлении "проглатывать" дату в русском формате дд.мм.гггг
|
|||
---|---|---|---|
#18+
Shocker.Pro, Конечно, с этого я и начинал. Но ни в моих поисках, ни в вашей ссылке ничего путного не нашёл. Поэтому пришлось изобретать ту самую "кривую козу", на которой я и объехал данную проблему. Она достаточно простая и заключается в том, что в представлении просто отменяем валидацию данного поля с датой оператором @{ Html.EnableClientValidation(false); } и переносим её в контроллер. Фрагмент кода представлен ниже: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код простейшего контроллера: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
На всякий случай привожу код класса DateTest: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Теперь, при корректном задании даты строка в формате дд.мм.гггг проглатывается нормально, а при ошибке - эта ошибка ловится стандартным образом (см. рисунок) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2018, 10:07 |
|
Как заставить валидатор в представлении "проглатывать" дату в русском формате дд.мм.гггг
|
|||
---|---|---|---|
#18+
ValGer, Пожалуй, от атрибута Код: c# 1.
целесообразно отказаться - вполне хватает и формата для того, чтобы отсечь время. На реальной задаче этот атрибут препятствует записи в базу данных. Без него всё в порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2018, 17:56 |
|
|
start [/forum/topic.php?fid=18&fpage=18&tid=1355118]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 156ms |
0 / 0 |