Проблемы с поведением по умолчанию культуры ModelBinder

Я развиваюсь из Бразилии. Здесь формат числа по умолчанию, например, "1.000,00" (точки вместо запятых и наоборот).

Моя проблема с настройками по умолчанию для MVC Core 2. Просто создайте ASP.Net MVC Core Web App по умолчанию, создайте модель, подобную этой:

public class TestModel
{
    public decimal Salary { get; set; } = 1.5M
}

Создайте строительные леса по умолчанию для этих моделей, и вы увидите эту страницу: введите описание изображения здесь

Asp.Net MVC правильно определяет мою культуру и отображает значение с запятыми вместо точек. Самое смешное, когда я пытаюсь представить это:

введите описание изображения здесь

Хорошо, страница отображается правильно, но валидация не позволяет правильно понять мою культуру... Я думаю, что это странно, показывать данные в одной культуре и ожидать, что получение обратно в другой культуре... противоречиво. Но, ради тестов, я меняю "1,50" на "1,50". Я отправляю и получаю это на стороне сервера:

введите описание изображения здесь

У меня есть много решений для этой проблемы, но я думаю, что это странное поведение. Если пользователь должен получать данные в одном формате, по умолчанию, я думаю, должны отображаться в том же формате.

Но хорошо, что правильный (ожидаемый?) Способ справиться с этой ситуацией?

0 ответов

Другие вопросы по тегам