У меня есть модель с 2 полями, и оба поля не обязательны (тег [Обязательный] не используется).
На странице бритвы у меня есть ненавязчивые и jquery проверки JS файлы включены. Когда я не заполняю никакое значение и не отправляю форму, я получаю сообщение об ошибке (на стороне клиента), в котором запрашивается последнее поле в моей форме.
Я искал, но не нашел подобной проблемы, так как в модели / viewmodel нет обязательного тега, почему это необходимо на стороне клиента.
[Обновление 1: код добавлен]
Модель:
public class AppUser: IdentityUser
{
public string Name { get; set; }
public int Deposit { get; set; }
}
Вид:
<form method="post">
<div class="form-group">
<label asp-for="@Model.AppUser.Deposit" class="control-label"></label>
<input asp-for="@Model.AppUser.Deposit" type="text" class="form-control" />
<span asp-validation-for="@Model.AppUser.Deposit" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="@Model.AppUser.Email" class="control-label"></label>
<input asp-for="@Model.AppUser.Email" type="text" class="form-control" />
<span asp-validation-for="@Model.AppUser.Email" class="text-danger"></span>
</div>
</form>
Контроллер:
public class SomeModel : PageModel
{
private readonly ApplicationDbContext _context;
private readonly UserManager<AppUser> _userManager;
[BindProperty]
public AppUser AppUser { get; set; }
public SomeModel(ApplicationDbContext context, UserManager<AppUser> userManager)
{
_context = context;
_userManager = userManager;
}
public async Task<IActionResult> OnGetAsync()
{
//..some action
return Page();
}
public async Task<IActionResult> OnPostAsync()
{
//..some action
return Page();
}
}