其实我们的angularjs都是是块状代码,其实是可以在实际开发中保存下来以后就可以达到重复利用的目的了。。

废话不多说,直接上代码:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" href="css/amazeui.min.css">
<script src="js/jq2.js"></script>
<script src="js/amazeui.min.js"></script> </head>
<body ng-app="myapp">
<div style="width: 250px; margin: 0 auto" ng-controller="forms">
<form ng-submit="sub(ckform.$valid)" name="ckform">
<div class="am-alert {{color}} " data-am-alert ng-show="errorMsg.length > 0">
<button type="button" class="am-close">&times;</button>
<p>{{errorMsg}}</p>
</div>
<h1>登录表单</h1>
<div class="am-input-group">
<span class="am-input-group-label"><i class="am-icon-user am-icon-fw"></i></span>
<input type="text" name="user" class="am-form-field" placeholder="Username" ng-model="user.name" required ng-minlength="5" >
</div>
<p>
<p>
<!--下面的ckform 和上面表单 form 的name里面的值 是一样的-->
<!--下面的name 和上面表单里面的name值 是一样的-->
$pristine 【没修改】:{{ckform.user.$pristine }}<br>
$dirty【修改过】:{{ckform.user.$dirty}}<br>
$invalid【验证失败】:{{ckform.user.$invalid}}<br>
$invalid【验证成功】:{{ckform.user.$valid}}<br>
$error【错误详情】:{{ckform.user.$error}}<br>
</p>
</p>
<div class="am-input-group">
<span class="am-input-group-label"><i class="am-icon-lock am-icon-fw"></i></span>
<input type="password" class="am-form-field" placeholder="Password" ng-model="user.pass" >
</div> <div class="am-g" style="margin-top: 15px">
<div class="am-u-sm-6 am-text-center">
<button type="submit" class="am-btn am-btn-success" >登录</button>
</div>
<div class="am-u-sm-6 am-text-center">
<button type="button" class="am-btn am-btn-default">取消</button>
</div>
</div>
</form>
</div>
</body>
<script src="js/angular.min.js"></script>
<script>
var module = angular.module("myapp",[]);
module.controller('forms',function($scope){
$scope.user = {name:'',pass:''};
$scope.errorMsg = '';
$scope.login = function(){
console.log($scope.user.name);
console.log($scope.user.pass);
if(/*$scope.user.name == 'admin' && */$scope.user.pass == 'admin888'){
$scope.errorMsg = 'YES~~~~';
$scope.color = "am-alert-success";
}else{
$scope.errorMsg = 'NO~~~~~';
$scope.color = "am-alert-danger";
}
}
$scope.sub = function(ckval){ //这里的ckval相当于form 表单头的$valid
//required 必须要填写
//ng-minlength 最短
//ng-maxlength 最长
//ng-pattern 正则
//
console.log(ckval);
if(!ckval){
$scope.errorMsg = "骚年错误啦";
$scope.color = "am-alert-danger";
}else{
$scope.errorMsg = '骚年不错噢~~~~';
$scope.color = "am-alert-success";
}
} }) </script>
</html>

效果展示:

夺命雷公狗—angularjs—3—表单验证的高级用法的更多相关文章

  1. 夺命雷公狗—angularjs—9—ng-class的自定义函数的用法

    angularjs里面其实给我们留下了一个很不错的地方,他就是可以直接调用函数从而对该位置进行处理, 被点击后展示效果如下所示: 开始走代码吧.... <!doctype html> &l ...

  2. 基于angularJS的表单验证练习

    今天看了一下angularJS的表单验证,看的有点云里雾里(也有可能是雾霾吸多了),于是做了一个小练习来巩固一下. html: <div ng-controller="Aaa" ...

  3. angularjs的表单验证

    angularjs内置了常用的表单验证指令,比如min,require等.下面是演示: <!DOCTYPE html> <html> <head> <meta ...

  4. 夺命雷公狗—angularjs—6—单条数据的遍历

    我们在实际的工作中常常会处理到一些数据的遍历,这些数据都是后端传到前端的,有些公司会让前端帮忙处理一点遍历的工作,废话不多说,直接上代: <!doctype html> <html ...

  5. 【AngularJs】---表单验证

    1. 必填项 验证某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type="text" required /> 2 ...

  6. angularJS 过滤器 表单验证

    过滤器1.filter的作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果,主要用于数据的格式化.2.内置过滤器(1)Currency(货币)将一个数值格式化为货币格式,默认为$(2)D ...

  7. AngularJS 的表单验证

    最近开始学习angularjs,学到表单验证的时候发现有必要学习下大神的好文章: 转:http://www.oschina.net/translate/angularjs-form-validatio ...

  8. AngularJS复习------表单验证

    在AngularJS中能够将HTML5表单验证功能同自己的验证指令结合起来使用,这里介绍使用的核心功能. 使用表单验证,首先要确保表单的每个控件都有name属性 如果想要屏蔽浏览器对表单的默认验证行为 ...

  9. AngularJs实现表单验证

    首先,我们应该知道,表单中,常用的验证操作有: $dirty 表单有填写记录 $valid 字段内容合法的 $invalid 字段内容是非法的 $pristine 表单没有填写记录 $error 表单 ...

随机推荐

  1. javascript正则表达式(一)

    元字符 ( [ { \ ^ $ | ) ? * + . 预定义的特殊字符 字符 正则 描述 \t /\t/ 制表符 \n /\n/ 制表符 \r /\r/ 回车符 \f /\f/ 换页符 \a /\a ...

  2. SQL Server中的Image数据类型的操作

    原文:SQL Server中的Image数据类型的操作 准备工作,在库Im_Test中建立一张表Im_Info,此表中有两个字段,分别为Pr_Id (INT),Pr_Info (IMAGE),用来存储 ...

  3. 如何对抗 WhatsApp「蓝色双勾」-- 3 个方法让你偷偷看讯息

    WhatsApp 强制推出新功能「蓝色双勾 (✔✔)」 ,让对方知道你已经看过讯息.一众用户反应极大,因为以后不能再藉口说未看到讯息而不回覆.究竟以后 WhatsApp 是否真的「更难用」? 幸好还有 ...

  4. glusterfs rebalance

    # gluster volume rebalance VOLNAME start # gluster volume rebalance VOLNAME status # gluster volume ...

  5. 关于lnmp下搭thinkPHP无法找到指定静态页面

    我在lnmp 下架了一个thinkPHP框架,非常奇怪,在环境都配置好后,我在url里输入localhost:10007/index.php/member/login,正常来说应该显示login.ht ...

  6. 【转】深入理解TextView实现Rich Text--在同一个TextView设置不同字体风格

    深入理解TextView实现Rich Text--在同一个TextView设置不同字体风格 作者: 字体:[增加 减小] 类型:转载   本篇文章是对Android中在同一个TextView中设置不同 ...

  7. VS2013的virtualpath在当前应用程序根的外部

    将项目升级到VS2013环境时,运行报"virtualpath 在当前应用程序根的外部"错误,如下图 搜寻解决方法如下: 1.禁用VS2013 IDE的浏览链接视图功能 2.在We ...

  8. jq的选项卡tab

    jq中选项卡很简单,的注意是他结构命名(网上有很多,其中不乏不规范) 1.tab 2.tab-hd (选项栏) 3.tab-bd(选项栏对应的内容) css代码(布局没问题,可以只看jquery代码) ...

  9. mysql开发中使用存储过程

    在mysql开发中使用存储过程的理由: 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的 mysql 执行语句是要先编译,然后再执行的.这样如果查询并发大的时候. ...

  10. python中几个常用的算术函数

    1.lambda函数(匿名函数) lambda函数使用方式:lambda[参数1,参数2....]:表达式,列表 实例如下: lambda x : x * 2,[1,2,3,4] lambda 2.r ...