自定义指令验证

Custom directive validation

本文关键字:验证 指令 自定义      更新时间:2023-09-26

我有一个下拉菜单作为自定义指令。我需要表单验证,所以我使用了以下代码:

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>