Как извлечь правильный десятичный формат из базы данных, когда браузер не работает на операционной системе en-US engli sh - PullRequest
0 голосов
/ 17 февраля 2020

По умолчанию EditorFor () объявляет поле ввода в виде текста и прекрасно загружает значение из базы данных, но отображает его с запятой в качестве разделителя, поскольку браузер работает не на американской версии Windows и при проверке формы в этом поле происходит сбой, если оно не было изменено и / или кто-то вводит десятичное число с запятой вместо точки.

Если я определяю поле как число, я получаю предупреждение в консоли:

@Html.EditorFor(m => m.DecimalNumber, new { htmlAttributes = new { @class = "form-control", @type="number" } })

дает

jquery-3.4.1.js:4817 The specified value "0,00" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?

Число является надлежащим десятичным числом (18, 4) в базе данных, с использованием каркаса сущностей 6 оно также устанавливается в качестве такового в модели, у меня нет установить параметры глобализации Web.Config, и я не знаю, что превращает точку в кому. Я могу вводить десятичные числа с точками или запятыми в качестве разделителей, и jquery validate радует либо.

Как получить значение, загруженное в поле при загрузке формы? Я попытался добавить атрибут @ lang = "en" в конструктор редактора, но это тоже не имело никакого значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...