|   |   | 
| 
 | ASP.Net, MVC - как русифицировать дату? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Sabre 27.08.21✎ 12:35 | 
        У меня такая проблема - представление (страница HTML) проверяет дату в формате ДДММГГГГ, а бэкэнд - в формате ММДДГГГГ. Из за этого получается каламбур: если нужно ввести день месяца больше, чем 12, то в формате 13.01.2000 ругается проверка на странице, а если 01.13.2000 - то уже ругаются темные силы бэкенда (они, кстати, предупреждение на страничку и отправляют).
 Часть проблем решил, добавив у свойств классов такое: [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy}", ApplyFormatInEditMode = true)] Однако теперь фронт не принимает входящее значение даты с бэкэнда. Так можно очень долго возиться, и врядли получится все как надо. Решил спросить тут - уверен, у российских программистов это тривиальная процедура настройки приложения. | |||
| 1
    
        Sabre 27.08.21✎ 12:36 | 
        Кстати, вот это вот не работает - {0:yyyy}. Но это уже другая история... Работает так: "{0:dd'/'MM'/'yyyy}"     | |||
| 2
    
        Sabre 27.08.21✎ 12:50 | 
        В HTML под капотом при открытии вот так: value="27/08/2021" (пользователь же видит пустое представление даты)
 После того, как пользователь выберет сам: value="2021-08-27" | |||
| 3
    
        Sabre 27.08.21✎ 12:59 | 
        Наковырял вот что: 
 Если у свойства класса подставить буржуйский формат даты, то в этом формате данные попадают под капот HTML, а пользователь уже видит дату в другом, нормальном, нашем формате. В общем, вот так дата передается на фронт нормально: [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] [Display(Name = "Дата постройки здания")] public DateTime? BuildingConstructionDate { get; set; } Если найти, где настройка глобализации в приложении и выставить российскую, то все будет хорошо. Вот это в файле gloval.asax не срабатывает: <system.web> <globalization culture="ru-RU" uiCulture="ru-RU" /> | |||
| 4
    
        Serginio1 27.08.21✎ 13:48 | 
        Лучше здесь вопросы задавать http://rsdn.org/     | |||
| 5
    
        Serginio1 27.08.21✎ 14:12 | 
        Или сюда https://ru.stackoverflow.com/     | |||
| 6
    
        Sabre 27.08.21✎ 14:21 | 
        (4) (5) На стаке я уже давно с индусами тусуюсь, а вот про rsdn почему то впервые слышу. Из наших все время попадался только cyberforum     | |||
| 7
    
        Serginio1 27.08.21✎ 17:03 | 
        rsdn старый сайт. Сейчас там поутихло по сравнению с нулевыми, но тусуются грамотные прогеры.
 В любом случае лучше задавать вопросы по C# точно не на этом форуме | |||
| 8
    
        Fram 27.08.21✎ 17:30 | 
        Работа с датой в вебе это полный пи...! Независимо от языка. Значение в HTML всегда в формате гггг-мм-дд. И вот вокруг этого надо уже плясать и во фронте и в бэке     | |||
| 9
    
        Fram 27.08.21✎ 17:38 | 
        Либо забить на input type="date" и писать свой input с обработкой ввода каждого символа     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |