<!DOCTYPE HTML>
<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
//验证通过不通过的样式
input.ng-valid{ border:1px green solid; background:green;}
input.ng-invalid{ border:1px red solid; background:red;}
</style>
<script src="angular.min.js"></script>
<script>
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.text = 'hello';
}]);
</script>
</head>
<body>
<div ng-controller="Aaa">
<form novalidate name="myForm">
//ng-model是将视图绑定Model(变量)
<input type="text" name="myText" ng-model="text" required ng-minlength="5" ng-pattern="/^[a-zA-Z]+$/">
//通过名字来查找输入框
<div>{{ myForm.myText.$valid }}</div> //校验成功是true,
<div>{{ myForm.myText.$invalid }}</div> //校验成功是false,
<div>{{ myForm.myText.$pristine }}</div> //验证的值没有修改过为true修改后是false
<div>{{ myForm.myText.$dirty }}</div> //验证值修改后为true没有修改为false
<div>{{ myForm.myText.$error }}</div> //验证失败为false
</form>
</div>
</body>
</html>
<!DOCTYPE HTML>
<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
</style>
<script src="angular.min.js"></script>
<script>
var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){
$scope.regText = {//定义对象
regVal : 'default',
regList : [
{ name : 'default' , tips : '请输入用户名'},
{ name : 'required' , tips : '用户名不能为空'},
{ name : 'pattern' , tips : '用户名必须是字母'},
{ name : 'pass' , tips : '√'}
]
};
$scope.regPassword = {//定义对象
regVal : 'default',
regList : [
{ name : 'default' , tips : '请输入密码'},
{ name : 'required' , tips : '密码不能为空'},
{ name : 'minlength' , tips : '密码至少6位'},
{ name : 'pass' , tips : '√'}
]
};
$scope.change = function( reg , err ){//reg = "regText", err = {required: false, pattern: true}
for(var attr in err){
if( err[attr] == true ){
$scope[reg].regVal = attr;//$scope[regText].regVal = attr;
return;
}
}
$scope[reg].regVal = 'pass';//$scope[regText].regVal = 'pass';
};
}]);
</script>
</head>
<body>
<div ng-controller="Aaa">
<form novalidate name="nForm">
<div>
<label>用户名:</label>
//nForm.nText.$error返回的值是{required: false, pattern: true}这种类型
<input type="text" name="nText" ng-model="regText.name" required ng-pattern="/^[a-zA-Z]+$/" ng-blur="change('regText',nForm.nText.$error)">
//提示信息遍历出来,|是管道符,filter是过滤器, : 是传参数,regText.regVal是传的参数,
<span ng-repeat=" re in regText.regList | filter : regText.regVal ">
{{ re.tips }}
</span>
</div>
<div>
<label>密码:</label>
<input type="password" name="nPassword" ng-model="regPassword.name" required ng-minlength="6" ng-blur="change('regPassword',nForm.nPassword.$error)">
//提示信息
<span ng-repeat=" re in regPassword.regList | filter : regPassword.regVal ">
{{ re.tips }}
</span>
</div>
</form>
</div>
</body>
</html>