По умолчанию 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" в конструктор редактора, но это тоже не имело никакого значения.