Angular表单验证
novalidate 去掉html5自带的验证
ng-minlength 规定输入文本的最小长度
ng-maxlength 规定输入文本的最大长度
ng-submit 接收一个方法名,提交表单时触发这个方法
ng-class 规定一个条件,满足条件后添加指定的类名。语法如下:(error是类名,冒号后面的是条件)
ng-class="{'error':form.username.$error.required}"
$pristine 没有被改过的表单
$dirty 被改过的表单
$valid 通过验证
$invalid 没有通过验证
$error 错误
语法:
<!--
这是一个条件,表示检查所有规则
-->
form.username.$invalid <!--
表示只检查minlength规定的规则
-->
form.username.$error.minlength
<!--
form表示 form表单的form的name名字,
username 表示form下某个表单
-->
当input上规定的验证规则通过后,在input 上写的 ng-model 才会生效。
ng-if 语句的条件满足显示元素,不满足移除元素
ng-disabled 同ng-if的用法一样,这个是表示元素可不可用的
根据以上知识点就可以写一个简单的表单验证了:
<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="../../Angular/angular.min.js"></script>
<link rel="stylesheet" href="../../Angular/bootstrap.css"/>
<style>
.box
{
width:200px;
margin:50px auto;
} p.error
{
color:red;
} input.error
{
border:1px solid red;
}
</style>
</head>
<body> <div class="box" ng-controller="myController1">
<form name="form" ng-submit="formSubmit()" novalidate>
<h2>注册</h2>
<div>
<label>用户名:</label>
<input type="text"
class="form-control"
ng-model="userdata.username"
name="username"
ng-minlength="3"
ng-maxlength="5"
required
/>
<div class="error" ng-show="form.username.$invalid && form.username.$dirty && form.submitted">
<p class="error" ng-if="form.username.$error.minlength">最少输入3位</p>
<p class="error" ng-if="form.username.$error.maxlength">最多输入5位</p>
<p ng-if="form.username.$error.required" ng-class="{'error':form.username.$error.required}">不能为空</p>
</div> </div>
<div>
<label>密码:</label>
<input type="password"
name="password"
ng-model="userdata.password"
class="form-control"
ng-minlength="6"
required
ng-class="{'error':form.password.$invalid && form.password.$dirty}"
/>
<p class="error" ng-if="form.password.$invalid && form.password.$dirty">密码格式不正确</p>
</div>
<div class="text-center">
<input type="submit" class="btn btn-danger"/>
</div> </form>
</div> <script>
angular.module("myApp",[])
.controller("myController1",function($scope)
{
$scope.userdata = {};
$scope.submitted = false;
$scope.formSubmit = function()
{
if($scope.form.$valid)
{
console.log($scope.userdata); //scope可以直接点出from的name属性
console.log($scope.form)
}
else
{
$scope.form.submitted = true;
} }
})
</script>
</body>
</html>
Angular表单验证的更多相关文章
- Angular 表单验证类库 ngx-validator 1.0 正式发布
背景介绍 之前写了一篇 <如何优雅的使用 Angular 表单验证>,结尾处介绍了统一验证反馈的类库 ngx-validator ,由于这段时间一直在新模块做微前端以及相关业务组件库, ...
- 简单的angular表单验证指令
<html ng-app="myApp"> <head> <meta charset="UTF-8"> <title& ...
- angular表单验证实例----可用的代码
前段时间,公司做一个单页面,就是一个表单验证,早开始在菜鸟教程上关注了angular,所以下派上用场了 angular里面对于表单验证,设置了很多指令. 也就是说不用自己写一些逻辑,直接绑定指令就行. ...
- 从浅入深剖析angular表单验证
最近手上维护的组件剩下的BUG都是表单验证,而且公司的表单验证那块代码经历的几代人,里面的逻辑开始变得不清晰,而且代码结构不是很angular. 是很有必要深入了解表单验证. 入门之前,我觉得应该先了 ...
- angular 表单验证
最近在用angular写表单验证时 , 不小心把ng-model全替换删掉了, 然后发现之前写的验证都失效, 在查阅资料和反复修改摸索后, 发现angular中的表单验证, 都是基于ng-model的 ...
- 如何优雅的使用 Angular 表单验证
随便说说,这一节可以跳过 去年参加 ngChine 2018 杭州开发者大会的时候记得有人问我: Worktile 是什么时候开始使用 Angular 的,我说是今年(2018年) 3 月份开始在新模 ...
- 简话Angular 05 Angular表单验证
一句话: 可以使用所有html5表单验证功能,同时Angular还增强了部分验证,支持动态验证 1. 上源码 <div ng-controller="ExampleController ...
- Angular 表单验证 基础篇
<div class="nav"> <h4>表单验证</h4> <form ng-app="myApp" name=& ...
- ngVerify - 更高效的 angular 表单验证
ngVerify v1.5.0 a easy Angular Form Validation plugin.简洁高效的__angular表单验证插件__ See how powerful it.看看它 ...
随机推荐
- Mysql安装及主从复制配置
1.下载 mysql数据库 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.ta ...
- 4. K线经典组合及意义一
一. K线的三种形态: 1. 上升形态 2. 下跌形态 3. 顶部及底部形态 二. K线组合三大类 1. 上升形态,当这种K线或K线组合出现,表示股价要上涨. 2. 下跌形态,当这种K线或K线组合出现 ...
- 修改git remote url
$ ssh -v wangz@gitlab.alibaxx-inc.com $ git remote ali set-url git@gitlab.alibaxx-inc.com:youk-aaa/x ...
- java IO输入输出流中的各种字节流,字符流类
字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供 ...
- 基础知识《十》unchecked异常和checked异常
运行时异常在运行期间才能被检查出来,一般运行期异常不需要处理.也称为unchecked异常.Checked异常在编译时就能确定,Checked异常需要自己处理. checked 异常也就是我们经常遇到 ...
- ABAP 订单-交货单-发货过账自动完成 案例
*&---------------------------------------------------------------------* *& Report ZSDR006 ...
- Python之路,Day5 - Python基础5
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 一.列表生成器 , 1, 2, 3, 4, 5, 6, 7, 8, 9 ...
- 常见端口 HTTP代码
端口号 系统保留了前0到1023端口作为常用的网络服务. 0-1023 公认端口 1024-49151 注册端口 49152-65535 动态或私有端口 1 TCPMUX 主要在SGI Irix机器 ...
- 【python】with的实现方法
来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-pythonwith/#icomments 重点: with方法适用于需要分配和清理资 ...
- winserver 08 64位安装sql05 64位提示asp版本注册
将打开 安装IIS 6.0的就可以了,然后重启下