1

Angular フォームのテキスト フィールドの日付フィールドのカスタム検証が必要です。angular-ui表示にはdatepicker要素を使用しています。検証のためにvalidatedate、カスタム ロジックを記述したいカスタム ディレクティブを作成しました。私が直面している問題がいくつかあります:

  1. ctrlディレクティブ内で未定義として来ています。
  2. 現在発生していない入力フィールドの変更があるたびに、ディレクティブを呼び出す必要があります。このディレクティブは、ページが読み込まれるときに 1 回だけ呼び出されます。

参照用に以下のコード スニペットを追加します。どこが間違っているのか教えてください。

<p class="input-group">
  <input type="text" class="form-control" name="enable_dt" uib-datepicker-popup="{{format}}"
         ng-model="enable_dt" is-open="datepickers.enable_dt" min-date="minDate" max-date="maxDate"
         datepicker-options="dateOptions" validatedate
         close-text="Close" ng-requied="maintainanceForm.enable_dt"/>
 <span class="input-group-btn">
   <button type="button" class="btn btn-default" ng-click="open($event,'enable_dt')">
     <i class="glyphicon glyphicon-calendar"></i></button>
 </span>

validatedateディレクティブ:

'use strict';
angular.module('myApp')
  .directive('validatedate', function() {
    return {
        require: 'ngModel',
        link: function(scope, elm, attrs, ctrl) {
            console.log(scope.enable_dt);
            console.log(ctrl); //ctrl is undefined
        }
    };
});
4

0 に答える 0