所以我有以下代码:
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'冒险'的第一天,所以这可能是一个非常简单的错误,但我已经在最后一小时一直在讨论它并且不知道出了什么问题。
任何帮助表示赞赏。谢谢
答案 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"