У меня есть простой просмотр, < /p>
public class AuthenticateViewModel
{
[Required]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
}
< /code>
Существует метод действия с Get и post < /p>
[HttpGet]
[AllowAnonymous]
public IActionResult Authenticate()
{
return View();
}
[HttpPost]
public async Task Authenticate(AuthenticateViewModel model)
{
if (!ModelState.IsValid)
{
ViewBag.ErrorMessage = "Validation failed";
return View(model);
}
// Do some logic operation
}
< /code>
У меня есть простое представление, которое отображает два текстовых поле для AuthenticateViewModel и кнопку отправки.
Форма размещается обратно на сервер, используя Ajax post. < /p>
var formData = $("#form-submit").serialize();
$.ajax({
url: targetUrl,
type: "POST",
data: formData,
success: function (response, textStatus, xhr) {
// Do something here
},
error: function (xhr, ajaxOptions, thrownError) {
// Handle error
}
});
< /code>
Пока все круто, форма успешно публикует данные на сервере, и моя функциональность работала отлично. Зарегистрирует некоторую информацию на основе ввода, который происходит до того, как управление достигает метода действия контроллера. Вы рассматриваете это как запрос -миддл, пример кода, приведенный ниже. < /P>
public async Task Invoke(HttpContext httpContext, IRequestLogBuilder requestLogBuilder)
{
var requestPath = httpContext.Request.Path.Value;
var request = httpContext.Request;
if (requestPath != null && ExcludeLogging(requestPath))
{
await _next(httpContext); // Skip logging
return;
}
var originalBodyStream = httpContext.Response.Body;
using (var responseBody = new MemoryStream())
{
try
{
request.EnableRewind();
// use request payload to read some data and log information logic
await _next(httpContext);
// Log some information from response
}
catch (Exception ex)
{
// Handle error scenario
}
}
}
< /code>
После представления этого промежуточного программного обеспечения в коде моя форма начала вести себя проводной. Форма отлично работает для количества подчиненных «X» и успешно получает ответ. После этого он начинает предоставлять мне не удаленные сообщения о проверке модели. Самая следующая подача формы работает, как и ожидалось, и успешно работает. Я не могу определить основную причину об этом сбое валидации модели. Но я не могу выяснить, когда и где эта неудача происходит с моей формой. Я понятия не имею, почему стержни модель по умолчанию не удастся, это поведение прерывисто.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -from-view
Проверка модели State неожиданно не удалась даже с надлежащими данными, передаваемыми из просмотра ⇐ C#
Место общения программистов C#
1739528596
Anonymous
У меня есть простой просмотр, < /p>
public class AuthenticateViewModel
{
[Required]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
}
< /code>
Существует метод действия с Get и post < /p>
[HttpGet]
[AllowAnonymous]
public IActionResult Authenticate()
{
return View();
}
[HttpPost]
public async Task Authenticate(AuthenticateViewModel model)
{
if (!ModelState.IsValid)
{
ViewBag.ErrorMessage = "Validation failed";
return View(model);
}
// Do some logic operation
}
< /code>
У меня есть простое представление, которое отображает два текстовых поле для AuthenticateViewModel и кнопку отправки.
Форма размещается обратно на сервер, используя Ajax post. < /p>
var formData = $("#form-submit").serialize();
$.ajax({
url: targetUrl,
type: "POST",
data: formData,
success: function (response, textStatus, xhr) {
// Do something here
},
error: function (xhr, ajaxOptions, thrownError) {
// Handle error
}
});
< /code>
Пока все круто, форма успешно публикует данные на сервере, и моя функциональность работала отлично. Зарегистрирует некоторую информацию на основе ввода, который происходит до того, как управление достигает метода действия контроллера. Вы рассматриваете это как запрос -миддл, пример кода, приведенный ниже. < /P>
public async Task Invoke(HttpContext httpContext, IRequestLogBuilder requestLogBuilder)
{
var requestPath = httpContext.Request.Path.Value;
var request = httpContext.Request;
if (requestPath != null && ExcludeLogging(requestPath))
{
await _next(httpContext); // Skip logging
return;
}
var originalBodyStream = httpContext.Response.Body;
using (var responseBody = new MemoryStream())
{
try
{
request.EnableRewind();
// use request payload to read some data and log information logic
await _next(httpContext);
// Log some information from response
}
catch (Exception ex)
{
// Handle error scenario
}
}
}
< /code>
После представления этого промежуточного программного обеспечения в коде моя форма начала вести себя проводной. Форма отлично работает для количества подчиненных «X» и успешно получает ответ. После этого он начинает предоставлять мне не удаленные сообщения о проверке модели. Самая следующая подача формы работает, как и ожидалось, и успешно работает. Я не могу определить основную причину об этом сбое валидации модели. Но я не могу выяснить, когда и где эта неудача происходит с моей формой. Я понятия не имею, почему стержни модель по умолчанию не удастся, это поведение прерывисто.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79436884/modelstate-validation-failed-unexpectedly-even-with-proper-data-passed-from-view[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия