Razor 使用多个选项卡查看,don';我不想用DataAnnotation验证隐藏的选项卡

Razor 使用多个选项卡查看,don';我不想用DataAnnotation验证隐藏的选项卡,razor,asp.net-core-mvc,tag-helpers,asp.net-core-tag-helpers,Razor,Asp.net Core Mvc,Tag Helpers,Asp.net Core Tag Helpers,我有一个ASP.net核心MVC视图,其中有几个引导4选项卡。每个选项卡都显示作为ViewModel一部分的表单字段部分 每个选项卡都有自己的窗体和控制器,它通过一个按钮发布到该窗体和控制器,这很好地工作 但是,当发布任何表单时,所有选项卡上的所有表单字段都会触发验证 <div class="col-lg-12"> <ul class="nav nav-tabs nav-tabs-inverse nav-justified nav-justified-mobile" d

我有一个ASP.net核心MVC视图,其中有几个引导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>

…这里的表单和按钮 …这里的表单和按钮
是否存在ViewModel上的DataAnnotations验证只会触发可见字段的方式,或者类似的方式

我尝试将每个选项卡拆分为子对象,但没有效果

我发现了这个问题,尽管他们似乎正在使用JQuery。


是否有一种MVC核心方法可以做到这一点,它是最佳实践/不需要定制JavaScript?

如果每个选项卡都有自己的表单,那么它不应该验证其他表单中的字段所有选项卡上所有表单字段的验证触发器\u所有验证都是在客户端触发的还是在服务器端的ModelState.IsValid上触发的?你能分享一个可以重现这个问题的演示吗?它确实会触发,它似乎是基于ViewModel触发的,而不是给定形式的。试试看。我如何才能共享服务器端代码的演示?我的困惑是您所说的触发了所有验证:提交表单后页面上是否显示了所有字段的验证信息,还是控制器方法中的ModelState验证?基于现有代码,我进行了测试,它在视图中运行得很好。如果您想让社区检查和调试代码,请共享一个可以重现问题的简单演示。