2014-08-31 4 views
0

그래서 나는 다음과 같은 코드가 있습니다NG 쇼가 작동하지 제대로

var validationApp = angular.module('validationApp', []); 

validationApp.controller('mainController', function($scope) { 

    $scope.submitForm = function(isValid) { 
     alert('form is valid!'); 
    }; 
}); 

<body ng-app="validationApp" ng-controller="mainController"> 

<form name="newTaskForm" ng-submit="submitForm(newTaskForm.$valid)" novalidate> 

<input type="text" list="Topics" name="Topic" placeholder="Topic" ng-model="topic" required> 
<p ng-show="newTaskForm.topic.$invalid">Please enter a valid Topic</p> 

내가 표시하는 메시지를 얻기 위해 노력하고 있지만, 그냥 내가 요소를 검사 한하지 않고 모든을하고, 클래스는 입력 텍스트에 대해 변경되지만, ng-show는 그냥 움직이지 않고, 숨겨진 상태로 시작하고 숨겨진 상태로 유지되며, 다른 bg-show 조건을 사용해도 아무런 반응이 없습니다./

i 내가 생각하기에 코드의 일부만 포함 했어 ... 단순함을 위해서.

이것은 여전히 ​​내 angularJS '모험'의 첫날이기 때문에 아주 간단한 실수 일 수 있습니다. 그러나 지난 한 시간 동안 그 일을 잘 알고 있으며 무엇이 잘못 됐는지 전혀 모릅니다.

어떤 도움을 주시면 감사하겠습니다.

<input type="text" list="Topics" name="Topic" placeholder="Topic" ng-model="topic" required> 
       <p ng-show="newTaskForm.Topic.$invalid">Please enter a valid Topic</p> 

또는 이것을 사용 :

<input type="text" list="Topics" name="Topic" placeholder="Topic" ng-model="topic" required> 
       <p ng-show="newTaskForm.$invalid">Please enter a valid Topic</p> 
여기

실수를 명명했던 덕분에

+0

변화'newTaskForm.topic $ invalid'을 newTaskForm.Topic'에 $ invalid'를, 당신의 '이름 = "주제"'때문이다.. – ryeballar

+0

우물쭈물하다. .. 감사합니다 백만 : 나는 아직도 각성을 얻고있다. –

답변

0

당신은 바보 mistake.use이 코드를 수행했다. 검증은 필드의 이름을 사용하여 수행됩니다. 여기서 입력 필드 이름은 이며 항목은입니다. 그래서 newTaskForm.Topic을 사용하여이 같은 NG 쇼 내부 무효 $ :.. ​​

ng-show="newTaskForm.Topic.$invalid"