programing

angularjs: ng-message가 항상 표시됨

goodsources 2023. 10. 18. 22:04
반응형

angularjs: ng-message가 항상 표시됨

각도 메시지를 사용하여 각도 앱에 양식 유효성 검사 오류를 표시하고 있습니다.문서에 의하면, 나는 다음 코드를 만들었습니다.

<form name="loginForm">
  <label class="item item-input">
    <input type="email" placeholder="Email" ng-model="data.email" name="email" required>
  </label>
  <div ng-messages="loginForm.email.$error" style="color:maroon">
    <div ng-message="required">Please input a valid e-mail address</div>
    <div ng-message="email">You did not enter your email address correctly...</div>
  </div>
</form>

ngMessages directive를 javascript에 포함시켰으며 angular-messages.js 파일을 가져왔습니다.

불행히도 이 두 메시지는 계속해서 표시되고 있습니다.입력란에 무엇을 입력하든, 유효한 이메일이든 아니든 상관없습니다.두 메시지 모두 항상 표시됩니다.하나의 ng 메시지만 넣으려고 하면 결과는 같습니다.

내가 뭘 잘못하고 있는 거지?

edit: 제 설명이 명확하지 않은 경우 https://s9.postimg.cc/du9230tdb/Screen_Shot_2015_06_26_at_17_09_24.png 결과를 출력합니다.

실제로 모듈에 ngMessage를 포함하고 있는지 확인해야 합니다.

var app = angular.module('app', [
    'ngMessages'
])

... 그리고 당신의 프로젝트에 도서관을 포함시킨 것.

<script src="/scripts/vendors/angular-messages/angular-messages.js"></script>

당신이 공유하고 있는 코드에는 모든 것이 괜찮은 것 같습니다.

<form name="loginForm">
    <label class="item item-input">
        <input type="email" placeholder="Email" ng-model="data.email" name="email" required>
    </label>
    <div ng-messages="loginForm.email.$error" style="color:maroon">
        <div ng-message="required">Please input a valid e-mail address</div>
        <div ng-message="email">You did not enter your email address correctly...</div>
    </div>
</form>

여기 플렁커에 대한 작업 복사본이 있습니다. 당신의 코드를 사용하고 있습니다.

Angularjs 문서에서.

기본적으로 ngMessages는 한 번에 하나의 오류만 표시합니다.그러나 모든 메시지를 표시하려면 ngMessages 지시문을 포함하는 요소에 ngMessages-multiple 속성 플래그를 사용하여 이를 수행할 수 있습니다.

필드가 더러워진 후 오류를 표시하려면 이 링크를 참조하십시오.

ngMessage 모듈과 라이브러리도 포함하고 있는지 확인합니다.카를로스의 답변을 봐주세요.

감사해요.

확인하기

<div ng-messages="loginForm.email.$error" ng-show="loginForm.email.$invalid && loginForm.email.$touched">
...
</div>

이 속임수가 내 목숨을 구했어요.

언급URL : https://stackoverflow.com/questions/31057120/angularjs-ng-message-always-showing

반응형