我是一名新手,想使用AngularJS进行表单验证,所以我查找了很多资料,并找到了一个不错的教程。该教程可以在这里找到。我知道Stack Overflow上有一些关于
我已经使用bower安装了
ng-messages
的帖子,但我已经审查过它们,发现它们似乎与我的问题无关。我已经使用bower安装了
ng-messages
,并且使用grunt
运行它。没有错误,但是我的验证消息似乎没有触发。
我的HTML代码如下:
<form name="myForm" novalidate>
<fieldset>
<div id="number" ng-class="{ 'has-error' : myForm.clientNumber.$invalid && !myForm.clientNumber.$pristine }">
<label for="client">SRF #: *</label>
<input type="text" name="clientNumber" placeholder="Enter SR #" ng-minlength="3" ng-maxlength="9" required>
<div ng-messages="myForm.clientNumber.$error">
<!--<div ng-message="required" >SRF # is required.</div>-->
<div ng-message="minlength" >SRF Number is too short.</div>
<!--<div ng-message="maxlength">SRF Number is too long.</div>-->
</div>
</div>
</fieldset>
</form>
我的app.JS的一部分如下:
angular
.module('myApp', [
// Angular
'ngAnimate',
'ngCookies',
'ngResource',
'ngSanitize',
'ngTouch',
'ui.router',
'myApp.home',
'restangular',
'ngMessages'
])
我的控制器部分代码如下:
(function() {
'use strict';
angular.module('myApp.home', [
'ui.router',
'myApp.myFactory',
'ngMessages'
])
.config(homeConfig)
.controller('homeCtrl', home);
homeConfig.$inject = ['$stateProvider'];
home.$inject = ['$http','myFactory','$timeout'];
function home($http,myFactory,$timeout) {
...
}
我已经查看并尝试过的内容:
- ngMessages/angular 验证不起作用
- ng-messages 不起作用
- https://github.com/angular/material/issues/6440
- https://github.com/angular/material/issues/2820
- https://docs.angularjs.org/api/ngMessages
- http://www.yearofmoo.com/2014/05/how-to-use-ngmessages-in-angularjs.html
列表中有些是教程,有些是在 Stack Overflow 上的帖子:ngMessages/angular 验证不起作用。
我不明白为什么它不起作用。我看到的所有网站都是以相同的方式实现的。
ngMessage
。请查看这个StackOverflow答案。 - gaurav bhavsar