Невозможно обновить поле даты при изменении языка приложения (LanguageAbbrevation). «Значение« 20.06.2020 »недействительно для даты доступности» - PullRequest
2 голосов
/ 10 июля 2020

Я использую два языка для своего веб-приложения. «ан» и «мой». Я реализую это используя ресурсы. У меня есть 2 файла ресурсов (WebResources.resx и WebResources.my.resx).

Я обнаруживаю ошибку, когда пытаюсь обновить свое представление, которое содержит поле даты. Ошибка

"The value '20/06/2020' is not valid for Date Available"

, которая отображается в представлении после нажатия кнопки «Обновить». Это происходит, когда я использую язык "en" в Приложении. Но когда я меняю его на «свой» язык, я могу обновить дату.

Поле в Модели

[Display(Name =  "Date Available")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<DateTime> AVAILABLE_DATE { get; set; }
    

Поле в Представлении

@Html.TextBoxFor(m => m.AVAILABLE_DATE, @"{0:dd\/MM\/yyyy}", new { @class = "form-control"})
@Html.ValidationMessageFor(model => model.AVAILABLE_DATE)

I подозреваю, что это как-то связано с языком / культурой. Есть идеи?

Вот образец, который вы можете проверить. Просто нажмите «Язык», чтобы изменить язык, затем go, чтобы перейти на страницу редактирования, и попробуйте сохранить. Ссылка здесь

1 Ответ

0 голосов
/ 14 июля 2020

Мой обходной путь - я создал другой файл ресурсов с именем WebResources.en-GB.resx. Я решил, что в ГБ используется тот же формат даты, что и в MY.

...