我使用ng开关实现了一个带有3个选项卡的页面,它只有一个带有ng禁用属性的通用Save按钮,所有这些都是以一种形式出现的。
<div id="tab1" ng-switch-default="basic">
<div id="tab2" ng-switch-when="contact">
<div id="tab3" ng-switch-when="password">
<button class="btn btn-info" type="button" ng-click="save(entity)" ng-disabled="form.$invalid || form.$pristine">
Save
</button>问题是ng禁用只在活动的选项卡上执行验证,因为ng开关从dom中删除了非活动选项卡的,而不是仅从隐藏。对于ng开关有解决办法吗?还是我应该回到ng-隐藏和ng-显示?
发布于 2014-04-22 17:39:36
我看到的唯一解决办法是手动进行验证。我想您的表单被绑定到某个模型,因此您可以让您的自定义验证函数直接监视模型。ng-disabled可以是这样的:
<button
type="button"
ng-click="save(entity)"
ng-disabled="form.$invalid || form.$pristine || myCustomValidate(entity)">
Save
</button>这是我能想到的ng-hide/ng-show的唯一选择(至少现在是这样)。
https://stackoverflow.com/questions/23226302
复制相似问题