Примечание. Это относится к .NET Core v2.0.Вы можете найти похожие посты, но они не решают проблему, с которой я сталкиваюсь.
Я применяю Ненавязчивая сторона клиента проверка с кодом, как показано ниже:
<form asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" onsubmit="showPleaseWait()" >
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<label asp-for="Username" class="control-label"></label>
<input asp-for="Username" class="form-control" placeholder="Username" />
<span asp-validation-for="Username" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Password" class="control-label"></label>
<input asp-for="Password" value="" class="form-control" placeholder="Password" />
<span asp-validation-for="Password" class="text-danger"></span>
</div>
<div class="form-group">
<button type="submit" class="btn btn-success btn-lg" style="margin:auto;display:block">Log in</button>
</div>
</form>
Хорошо, что он выполняет проверку на стороне клиента.
Тем не менее, событие form.onsubmit
возникает даже в случае сбоя проверки.В результате мой showPleaseWait
метод вызывается.Я считаю, что это не следует вызывать, так как форма еще не отправлена из-за ошибки проверки.
Ниже приведена модель:
public class LoginViewModel
{
[Required]
public string Username { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
Любое решение или обходной путь будут высоко оценены.