我是角度js的新手,正在进行表格验证。我做了所有,但仍然验证不起作用。这是我的代码:
<form role="form" name="studentForm" class="form-horizontal" novalidate>
<div class="form-group">
<label for="student_email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" name="student_email" ng-model="studentEmail" class="form-control" id="student_email" required>
<div role="alert" class="error-msg" ng-messages="studentForm.student_email.$error">
<p ng-message="required">Your email is required.</p>
</div>
</div>
</div>
</form>
脚本:
angular.module('app', ['ngMessages']);
答案 0 :(得分:2)
以下是代码的working Demo。
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.js"></script>
<script src="script.js"></script>
您可能忘记在html文件中添加脚本了。 index.html文件中脚本的位置也很重要。 ng-message 应仅包含在 angular.min.js
下方请查看demo
答案 1 :(得分:0)
https://docs.angularjs.org/guide/forms
请注意,novalidate用于禁用浏览器的本机表单验证。
尝试从表单标记中删除novalidate:
<form role="form" name="studentForm" class="form-horizontal">
我希望它有所帮助。