AngularJS 输入验证详解及实例代码
AngularJS输入验证
AngularJS表单和控件可以验证输入的数据。
输入验证
在前面的几个章节中,你已经学到关于AngularJS表单和控件的知识。
AngularJS表单和控件可以提供验证功能,并对用户输入的非法数据进行警告。
注意: 客户端的验证不能确保用户输入数据的安全,所以服务端的数据验证也是必须的。
应用代码
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<scriptsrc="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<h2>验证实例</h2>
<formng-app="myApp"ng-controller="validateCtrl"
name="myForm"novalidate>
<p>用户名:<br>
<inputtype="text"name="user"ng-model="user"required>
<spanstyle="color:red"ng-show="myForm.user.$dirty&&myForm.user.$invalid">
<spanng-show="myForm.user.$error.required">用户名是必须的。</span>
</span>
</p>
<p>邮箱:<br>
<inputtype="email"name="email"ng-model="email"required>
<spanstyle="color:red"ng-show="myForm.email.$dirty&&myForm.email.$invalid">
<spanng-show="myForm.email.$error.required">邮箱是必须的。</span>
<spanng-show="myForm.email.$error.email">非法的邮箱地址。</span>
</span>
</p>
<p>
<inputtype="submit"
ng-disabled="myForm.user.$dirty&&myForm.user.$invalid||
myForm.email.$dirty&&myForm.email.$invalid">
</p>
</form>
<script>
varapp=angular.module('myApp',[]);
app.controller('validateCtrl',function($scope){
$scope.user='JohnDoe';
$scope.email='john.doe@gmail.com';
});
</script>
</body>
</html>
运行结果:
验证实例
用户名:
邮箱:
注意: HTML表单属性novalidate用于禁用浏览器默认的验证。
实例解析
AngularJSng-model指令用于绑定输入元素到模型中。
模型对象有两个属性:user和email。
我们使用了ng-show指令,color:red在邮件是$dirty或$invalid才显示。
属性
描述
$dirty
表单有填写记录
$valid
字段内容合法的
$invalid
字段内容是非法的
$pristine
表单没有填写记录
以上就是对AngularJS输入验证的资料整理,后续继续补充,希望能帮助学习的同学。