У меня есть простой просмотр, < /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>
$.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#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение