ng-show无法正常工作

时间:2014-08-31 09:45:31

标签: javascript angularjs validation ng-show

所以我有以下代码:

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条件,但无济于事:/

为了简单起见,我只包含了我认为重要的代码部分。

这仍然是我的angularJS'冒险'的第一天,所以这可能是一个非常简单的错误,但我已经在最后一小时一直在讨论它并且不知道出了什么问题。

任何帮助表示赞赏。谢谢

1 个答案:

答案 0 :(得分:0)

你犯了一个愚蠢的错误。请使用以下代码:

<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>

这里你已经完成了命名错误。验证是使用字段名称完成的。这里的输入字段名称为主题。所以在ng-show中使用newTaskForm.Topic。$ invalid如下:

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