Просматривайте со многими вкладками, не хотите проверять скрытые вкладки с помощью DataAnnotations - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть 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?

...