角度选项卡形成验证

时间:2016-08-26 08:15:22

标签: javascript angularjs forms validation

我有以下结构

            <div id="contractTab" class="ui top attached large tabular menu">
            <a id="main-tab" class="item active" data-tab="first" ng-show="ctrl.currentTabsGroup == 'main'">some data</a>
            <a id="supplier-tab" class="item" data-tab="third" ng-show="ctrl.currentTabsGroup == 'supplier'">some data2</a>
            <a id="position-tab" class="item" data-tab="fourth" ng-show="ctrl.currentTabsGroup == 'position'">some data3</a>
            <a class="item" data-tab="second" ng-show="ctrl.currentTabsGroup == 'main'">some data4</a>
            </div>

每个标签看起来像

<div class="ui bottom attached tab segment" data-tab="third">
            <div class="ui basic segment">
                <ng-form name="supplierForm">
                ...
                </ng-form>
           </div>
</div>

每个表单都需要很多字段。问题是,当我尝试在此表单处于活动状态时(屏幕上)验证表单时,我发现它无效。例如,

supplierForm.$valid == false
但是,如果我移动到不同的形式,一切都显然会消失,我得到

supplierForm.$valid == true

有没有办法连接所有这些表单,以免丢失数据?

更改标签

时调用此功能
resetFormObject(formName);
$s[formName].$setPristine();

$timeout(function() {
     document.getElementById(tabId).click();
}, 20);

其中resetFormObject只是初始化活动对象,以便在提交表单时发送它

0 个答案:

没有答案