각도 지시문이 한 번만 호출되었습니다.

마누엘라

사용자 지정 유효성 검사기를 구축하기 위해 지시문을 사용하고 있으며 제대로 작동합니다. 하지만 한 번만 호출되었습니다! 내 "roleItems"가 업데이트되면이 지시문이 다시 호출되지 않았습니다! "roleItems"가 업데이트 될 때마다 어떻게 호출 할 수 있습니까?

다음은 마크 업입니다. 그리고 "비어 있지 않음"은 나의 지시입니다.

 <form name="projectEditor">    
    <ul name="roles" ng-model="project.roleItems" not-empty>
        <li ng-repeat="role in project.roleItems"><span>{{role.label}}</span> </li>
       <span ng-show="projectEditor.roles.$error.notEmpty">At least one role!</span>
      </ul>
    </form>

이것은 나의 지시입니다. ng-model "roleItems"가 비어 있는지 확인해야합니다.

angular.module("myApp", []).
    directive('notEmpty', function () {
        return {
            require: 'ngModel',
            link: function (scope, elm, attrs, ctrl) {

                ctrl.$validators.notEmpty = function (modelValue, viewValue) {


                    if(!modelValue.length){
                        return false;
                    }

                    return true;
                };

            }
        };
    });
밀로스 모 소프 스키

Validator의 주된 목적은 사용자 입력이나 모델 변경의 ngModel 값을 확인하는 것이므로 체크 박스 / 텍스트 / 입력 등에 사용되어야합니다. 모든 ng-model의 유효성을 검사 할 수 없습니다. Angular는 ng-model이 감각이 없다는 것을 알기에 충분히 지능적이므로 무시하고 있습니다.

.length 속성을 통해 확인할 수있는 오류 메시지 만 변경하고 싶습니다. 전체 양식을 유효하지 않게 만들고 싶다면 사용자 지정 지시문을 만들어 넣고이 지시문의 유효성 검사기에서 scope.number.length> 0을 확인하는 것이 좋습니다.

기본적으로 지시어 코드를 입력 요소로 조정하고 css 또는 type = hidden을 통해 숨 깁니다. 그러나 ng-model은 바인딩되고 덮어 쓸 수있는 값을 기대하기 때문에 ngModel = "value"를 의미하지 않습니다. .roleItems는 바인딩 할 수 없습니다! 따라서 ng-model = "dummyModel"과 실제 항목을 다른 매개 변수에 넣으십시오.

<input type="hidden" ng-model="dummyIgnoredModel" number="project.roleItems" check-empty>


angular.module("myApp", []).
    directive('checkEmpty', function () {
        return {
            require: 'ngModel',
            link: function (scope, elm, attrs, ctrl) {

                ctrl.$validators.push(function (modelValue, viewValue) {


                    if(!scope.number.length){
                        return false;
                    }

                    return true;
                });
             //now we must "touch" ngModel
               scope.$watch(function()
               {
                  return scope.number
               }, function()
               {
                  ctrl.$setViewValue(scope.number.length);
               });
            }
        };
    });

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

requestedUpdateDidBegin이 한 번만 호출되었습니다.

분류에서Dev

GSP 템플릿은 한 번 호출되었지만 UI에서 여러 번 렌더링되었습니다.

분류에서Dev

GSP 템플릿은 한 번 호출되었지만 UI에서 여러 번 렌더링되었습니다.

분류에서Dev

모의에 대한 호출이 한 번 예상되었지만 0 번 호출이 수행되지 않았습니다.

분류에서Dev

지시문이 한 번만 호출 됨

분류에서Dev

Moq 예외 : 모의에 대한 호출이 한 번 예상되었지만 0 번이었습니다 ...-.Net Core 3.1 with xUnit

분류에서Dev

실패한 테스트-Mocha의 done ()이 여러 번 호출되었습니다.

분류에서Dev

끝에 각 줄에 대한 시퀀스 번호 생성 .. 게시물이 수정되었습니다.

분류에서Dev

내 각도 함수가 첫 번째 호출에서 실행되지 않습니다. 두 번째 호출에서만 실행됩니다.

분류에서Dev

모의에서 한 번 호출을 예상했지만 0 번이었습니다.

분류에서Dev

su : 올바른 비밀번호에도 불구하고 권한이 거부되었습니다.

분류에서Dev

오류 : Firestore가 이미 초기화되었습니다. settings ()를 한 번만 호출 할 수 있으며 Firestore 객체에서 다른 메서드를 호출하기 전에 만 호출 할 수 있습니다.

분류에서Dev

각도 : 입력시 선택한 지시문이 작동하지 않습니다.

분류에서Dev

간단한 애니메이션을위한 각도 지시문

분류에서Dev

Composer 자동로드가 호출되었지만 아무것도로드되지 않았습니다.

분류에서Dev

Flutter : 처리되지 않은 예외 : NoSuchMethodError : getter 'id'가 null에서 호출되었습니다. 수신자 : null 시도한 호출 : id

분류에서Dev

ViewPager를 사용하여 조각의 구성 변경시 onCreate ()가 두 번 호출되었습니다.

분류에서Dev

간단한 각도 지시문이 작동하지 않습니다.

분류에서Dev

cellForRowAtIndexPath가 호출되지 않았지만 numberOfRowsInSection이 호출되었습니다.

분류에서Dev

여러 지시문이 서비스에서 동일한 약속을 한 번만 호출하도록하려면 어떻게해야합니까?

분류에서Dev

JOGL 표시 기능이 두 번 호출되었습니다.

분류에서Dev

Android 활동으로 인해 앱이 충돌하지만 내가 볼 수있는 한 어느 시점에서도 호출되지 않습니다.

분류에서Dev

Android 활동으로 인해 앱이 충돌하지만 내가 볼 수있는 한 어느 시점에서도 호출되지 않습니다.

분류에서Dev

Google지도 조각이 표시되지만지도가 없습니다.

분류에서Dev

버튼을 한 번만 클릭해도 이미지가 표시되지 않음

분류에서Dev

각도에 대한 $ rootScope. $ on () 메서드는 호출 할 때 트리거되지 않습니다. 왜?

분류에서Dev

각도에 대한 $ rootScope. $ on () 메서드는 호출 할 때 트리거되지 않습니다. 왜?

분류에서Dev

뷰를 다시로드하더라도 ViewDidAppear에서 애니메이션을 한 번만 호출

분류에서Dev

.mousedown ()은 각 요소에 대해 한 번만 호출됩니다.

Related 관련 기사

  1. 1

    requestedUpdateDidBegin이 한 번만 호출되었습니다.

  2. 2

    GSP 템플릿은 한 번 호출되었지만 UI에서 여러 번 렌더링되었습니다.

  3. 3

    GSP 템플릿은 한 번 호출되었지만 UI에서 여러 번 렌더링되었습니다.

  4. 4

    모의에 대한 호출이 한 번 예상되었지만 0 번 호출이 수행되지 않았습니다.

  5. 5

    지시문이 한 번만 호출 됨

  6. 6

    Moq 예외 : 모의에 대한 호출이 한 번 예상되었지만 0 번이었습니다 ...-.Net Core 3.1 with xUnit

  7. 7

    실패한 테스트-Mocha의 done ()이 여러 번 호출되었습니다.

  8. 8

    끝에 각 줄에 대한 시퀀스 번호 생성 .. 게시물이 수정되었습니다.

  9. 9

    내 각도 함수가 첫 번째 호출에서 실행되지 않습니다. 두 번째 호출에서만 실행됩니다.

  10. 10

    모의에서 한 번 호출을 예상했지만 0 번이었습니다.

  11. 11

    su : 올바른 비밀번호에도 불구하고 권한이 거부되었습니다.

  12. 12

    오류 : Firestore가 이미 초기화되었습니다. settings ()를 한 번만 호출 할 수 있으며 Firestore 객체에서 다른 메서드를 호출하기 전에 만 호출 할 수 있습니다.

  13. 13

    각도 : 입력시 선택한 지시문이 작동하지 않습니다.

  14. 14

    간단한 애니메이션을위한 각도 지시문

  15. 15

    Composer 자동로드가 호출되었지만 아무것도로드되지 않았습니다.

  16. 16

    Flutter : 처리되지 않은 예외 : NoSuchMethodError : getter 'id'가 null에서 호출되었습니다. 수신자 : null 시도한 호출 : id

  17. 17

    ViewPager를 사용하여 조각의 구성 변경시 onCreate ()가 두 번 호출되었습니다.

  18. 18

    간단한 각도 지시문이 작동하지 않습니다.

  19. 19

    cellForRowAtIndexPath가 호출되지 않았지만 numberOfRowsInSection이 호출되었습니다.

  20. 20

    여러 지시문이 서비스에서 동일한 약속을 한 번만 호출하도록하려면 어떻게해야합니까?

  21. 21

    JOGL 표시 기능이 두 번 호출되었습니다.

  22. 22

    Android 활동으로 인해 앱이 충돌하지만 내가 볼 수있는 한 어느 시점에서도 호출되지 않습니다.

  23. 23

    Android 활동으로 인해 앱이 충돌하지만 내가 볼 수있는 한 어느 시점에서도 호출되지 않습니다.

  24. 24

    Google지도 조각이 표시되지만지도가 없습니다.

  25. 25

    버튼을 한 번만 클릭해도 이미지가 표시되지 않음

  26. 26

    각도에 대한 $ rootScope. $ on () 메서드는 호출 할 때 트리거되지 않습니다. 왜?

  27. 27

    각도에 대한 $ rootScope. $ on () 메서드는 호출 할 때 트리거되지 않습니다. 왜?

  28. 28

    뷰를 다시로드하더라도 ViewDidAppear에서 애니메이션을 한 번만 호출

  29. 29

    .mousedown ()은 각 요소에 대해 한 번만 호출됩니다.

뜨겁다태그

보관