в html форме decimal поле принимало значение как через точку так и через запятую одинаково и проходило валидацию ?
Можно было бы Replace(".", ",") поставить элементарно, но не совсем ясно куда, и можно ли на самом деле - я попробовал - не доходит до этого момента.
пишут от локализации вообще зависит, us-US - точка, а it-IT - запятая.
jquery валидация по полю выключена data-val="false".
контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int id, Movie movie)
{
movie.Price = decimal.Parse(Request.Form["Price"].ToString().Replace(".", ",")); // не сработало
if (ModelState.IsValid) { // думал ошибка отсюда, но это не так.
try //"The value '7.99' is not valid for Price. "
{
DbContext.Update(movie);
await DbContext.SaveChangesAsync();
}
.....
Да, в зависимости от культуры используется разный NumberDecimalSeparator
Верхняя строчка не поможет, если что. В модель стейт уже провалидировано
Хм, убрать просто ModelState, для начала, на что нибудь другое.?
не, даже если ModelState убрать - всеравно валидацию не проходит перед отправкой на форме.
Пробовал просто сделать js маску для инпута?
Может и еще за что-то
Обсуждают сегодня