时间:2021-03-06 10:12:53 | 栏目:AngularJS | 点击:次
AngularJS表单验证功能实现代码:
ng-model的作用:
1.ng-model 指令可以将输入域的值与 AngularJS 创建的变量绑定
2.双向绑定,在修改输入域的值时, AngularJS 属性的值也将修改
3.数据校验
4.ng-model 指令可以为应用数据提供状态值(invalid, dirty, touched, error)
5.ng-model 指令基于它们的状态为 HTML 元素提供了 CSS 类
css内容:
/*angularJS会根据表单的状态进行添加或者删除对应的样式*/ /*定义输入框不合法的默认背景颜色*/ input.ng-invalid { background-color: grey; } /*输入框数据合法的默认背景颜色*/ input.ng-valid { background-color: yellow; }
HTML正文:
<body ng-app="myApp"> <div ng-controller="myCtrl"> <!-- 将表单输入域的值与angularJS的变量绑定 --> 名字: <input ng-model="name"><br> angularJS双向绑定:{{name}} </div> <hr> <p>表单输入信息校验</p> <form name="myForm01"> Email:<input type="email" name="myEmail01" ng-model="text"> <!-- ng-show:类似avalon的ms-if的用法,如果校验不通过则返回true,显示提示内容,数据校验不太精确 --> <span ng-show="myForm01.myEmail01.$error.email" style="color: red">邮箱地址不合法!</span><br> 数据校验结果:<span>{{myForm01.myEmail01.$error.email}}</span> </form> <hr> <p>ng-model 指令可以为应用数据提供状态值(invalid, dirty, touched, error)</p> <form name="myForm02" ng-init="myText='test@qq.com'"> Email:<input type="email" name="myEmail02" ng-model="myText" required></p> <!-- required标识不能为空,否则不合法 --> <h5>状态</h5> <!-- 通过识别表单的email控件按照默认的规则进行校验 --> 数据输入合法:{{myForm02.myEmail02.$valid}}<br> 数据改变:{{myForm02.myEmail02.$dirty}}<br> 触屏点击: {{myForm02.myEmail02.$touched}} </form> <hr> <p>ng-model 指令基于它们的状态为 HTML 元素提供了 CSS 类</p> <form name="myForm03"> 输入你的名字:<input name="myName" ng-model="text" required> </form>
效果: