我这里有一个plunker。
当我在输入字段中键入输入并单击页面上的其他位置时,会显示消息"This field is required."。为什么尽管输入字段有值,但仍显示消息?
这是代码:
<form name="reportform" novalidate >
<input name="startdate" placeholder="Enter a start date" ng-model="startdatevalue" required>
<ng-messages ng-if='reportform.startdate.$touched' for="reportform.startdate.$error">
<ng-message when="required">
This field is required.
</ng-message>
</ng-messages>
<button ng-disabled="reportform.$invalid" type="submit">
Submit Query
</button>
</form>
您缺少导入ngMessages模块:
示例:https://plnkr.co/edit/VWhrTIzRjkQBGfjaj5Zb?p=preview
var app = angular.module('plunker', ['ngMessages']);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
});
这是更新的演示
唯一的变化是你需要在你的角度模块中添加依赖ngMessages
作为
var app = angular.module('plunker', ['ngMessages']);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
});