У меня есть ASP. net Core MVC view с несколькими Bootstrap 4 вкладками. Каждая вкладка отображает части полей формы, которые являются частью ViewModel.
Каждая вкладка имеет свою собственную форму и контроллер, на который она отправляет сообщения с помощью кнопки, и это хорошо работает.
Однако, когда любая форма опубликована, проверка запускается для всех полей формы на всех вкладках.
<div class="col-lg-12">
<ul class="nav nav-tabs nav-tabs-inverse nav-justified nav-justified-mobile" data-sortable-id="index-2">
<li class="nav-item"><a href="#tab1" data-toggle="tab" class="nav-link active"><i class="fa fa-city fa-lg m-r-5"></i> <span class="d-none d-md-inline">Details</span></a></li>
<li class="nav-item"><a href="#tab2" data-toggle="tab" class="nav-link"><i class="fa fa-phone fa-lg m-r-5"></i> <span class="d-none d-md-inline">Scheduled Calls</span></a></li>
</ul>
<div class="tab-content" data-sortable-id="index-3">
<div class="tab-pane active show" id="tab1">
<form asp-action="Details">
.....form and button here
</form>
</div>
<div class="tab-pane active show" id="tab2">
<form asp-action="ScheduleCall">
.....form and button here
</form>
</div>
</div>
</div>
Есть ли способ, чтобы проверка DataAnnotations в ViewModel сработала только для видимых полей, или любой аналогичный способ выполнения this?
Я пытался разбить каждую вкладку на подобъекты, но это не имеет никакого эффекта.
Я нашел этот вопрос, хотя они, похоже, уходят в сорняки с JQuery. Требуется проверка только в том случае, если поле видно
Существует ли MVC основной способ сделать это, который является наилучшей практикой / не требует пользовательских JavaScript?