我有一个下拉菜单作为自定义指令。我需要表单验证,所以我使用了以下代码:
autoQuoteApp.directive('dropdown', function () {
return {
restrict: 'E',
scope: {
listData:'=',
selectedOption: "="
},
template: '<select ng-model="selectedOption" name="drop" required ng-options="list.id as list.value for list in listData"></select>',
};
});
html代码是:
<div class="input-align">
<dropdown selected-option='driverInfo.primaryVehicle' list-data='primaryVehicles'></dropdown>
<span class="error" ng-show="myForm.drop.$error.required">
Required!
</span>
</div>
我面临的问题是,我在一个页面上有多个下拉列表,而验证只适用于一个页面。
一旦我为第一个选择了值,所有的"必需"文本都会被删除,但我需要它在其他地方,直到我为那个特定的下拉列表选择了值。
对于您创建的每个指令,保留一个单独的名称
像"drop1"
<div class="input-align">
<dropdown name="drop1" selected-option='driverInfo.primaryVehicle' list-data='primaryVehicles'></dropdown>
<span class="error" ng-show="myForm.drop1.$error.required">
Required!
</span>
对于其他下拉菜单,请保留不同的名称"drop2"
<div class="input-align">
<dropdown name="drop2" selected-option='driverInfo.primaryVehicle' list-data='primaryVehicles'></dropdown>
<span class="error" ng-show="myForm.drop2.$error.required">
Required!
</span>