Javascript AngularJS使用select选择多个表单

Javascript AngularJS使用select选择多个表单,javascript,html,angularjs,forms,Javascript,Html,Angularjs,Forms,我的页面中有一个select标记,它有多个元素,在选择一个元素时,我会显示不同的div块。每个div标记包含不同的输入值,我有一个保存按钮,保存每个div标记中的所有数据。我希望验证所有输入的数据,我知道我应该使用表单。我遇到的问题是,一些表单将被隐藏,如果它们没有通过验证,那么用户可能看不到错误。处理这个问题的最佳方法是什么 <select class="item-select" size=10> <option ng-repeat="item in items tr

我的页面中有一个select标记,它有多个元素,在选择一个元素时,我会显示不同的div块。每个div标记包含不同的输入值,我有一个保存按钮,保存每个div标记中的所有数据。我希望验证所有输入的数据,我知道我应该使用表单。我遇到的问题是,一些表单将被隐藏,如果它们没有通过验证,那么用户可能看不到错误。处理这个问题的最佳方法是什么

<select class="item-select" size=10>
    <option ng-repeat="item in items track by $index" value="{{$index}}"
            ng-selected="$index == selectedItem" ng-click="ac.itemSelected($index)">
    {{item.name}}
</option>

<div ng-show="item.name == 'x'">
    <input type="number" min="0" max="100" ng-model="item.options.p" step="0.1" />%
</div>
<div ng-show="item.name == 'y'">
    <input type="number" min="0" max="100" ng-model="item.options.p" step="0.1" />%
</div>

{{item.name}
%
%

我不知道这是否是最好的解决方案-您可以使用ng if而不是ng show。ng show仅隐藏元素(显示:无)。ng if从DOM中删除整个元素。如果您想继续使用ng show-after item selection,请更改控制器中的模型变量,使其始终有效。您应该将所有内容包装在表单中。如果需要在保存之前验证所有数据,则只需一个表单并隐藏/显示其中的任何输入。然后,您可以迭代任何表单错误。如果您不知道,我可以提供一个答案,告诉您在这种情况下如何使用表单验证。如果我将所有内容包装在表单中,并且其中一个隐藏的div标记上存在验证错误,那么我必须跳转选择选项并显示/隐藏不同的数据,这会让用户感到困惑。