w5cValidator【AngularJS】 2.0 版本发布
w5cValidator 插件基于angular原有的表单验证,在原有的基础上扩展了一些错误提示的功能,让大家不用在每个表单上写一些提示信息的模板,专心的去实现业务逻辑。
关于v1.x版本的介绍参见:http://www.ngnice.com/posts/69f774dc4d3190
v1.0版本虽然简单的实现了想要的功能,但是没有按照模块独立出来,而且有很多代码不是很规范,这次正好抽时间重构了代码,直接升级到了 v2.0.0版本,同时也完善了一些展示案例功能。
如果你已经足够了解了angular或者之前使用过 w5cValidator,可以直接看展示程序:
使用步骤:
- HTML 中引用 dest/w5cValidator.js;
- 启动module引用 "w5c.validator",如:
var app = angular.module("app", ["w5c.validator"]);
在
app.config
事件中配置全局属性和显示规则:app.config(["w5cValidatorProvider", function (w5cValidatorProvider) { // 全局配置
w5cValidatorProvider.config({
blurTrig : false,
showError : true,
removeError: true });
w5cValidatorProvider.setRules({
email : {
required: "输入的邮箱地址不能为空",
email : "输入邮箱地址格式不正确"
},
username: {
required: "输入的用户名不能为空",
pattern : "用户名必须输入字母、数字、下划线,以字母开头"
},
password: {
required : "密码不能为空",
minlength: "密码长度不能小于{minlength}",
maxlength: "密码长度不能大于{maxlength}"
},
number : {
required: "数字不能为空"
}
});
}]);在HTML模板中form上使用指令 w5c-form-validate 和 w5c-submit
w5c-form-validate指令表示该表单采用 w5cValidator的验证规则;
w5c-submit 表示验证成功后调用的事件,当然w5c-submit可以不填写;<form class="form-horizontal w5c-form demo-form" role="form" w5c-submit="vm.saveEntity()"
w5c-form-validate="vm.validateOptions" novalidate name="validateForm">
<div class="form-group">
<label class="col-sm-2 control-label">邮箱</label> <div class="col-sm-10">
<input type="email" name="email" ng-model="entity.email" required="" class="form-control"
placeholder="输入邮箱">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">用户名</label> <div class="col-sm-10">
<input required="" ng-pattern="/^[A-Za-z]{1}[0-9A-Za-z_]{1,19}$/" ng-model="entity.name"
class="form-control" name="username" placeholder="输入用户名">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">密码</label> <div class="col-sm-10">
<input type="password" required="" ng-model="entity.password" name="password"
class="form-control" ng-minlength="5" ng-maxlength="15"
placeholder="输入密码">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">数字</label> <div class="col-sm-10">
<input type="number" required="" ng-model="entity.number" name="number" class="form-control"
placeholder="输入数字">
</div>
</div>
<div class="form-group" ng-show="validateForm.$errors.length > 0 && vm.showErrorType == 2">
<label class="col-sm-2 control-label"></label> <div class="col-sm-10">
<div class="alert alert-danger"></div>
</div>
</div> <div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success"> 验证</button>
</div>
</div>
</form>
注意事项:
- 由于验证使用的是 angular的form验证,所以必须要保证form和验证的元素都要有name属性;
- w5cValidatorProvider.setRules方法设置的rules名称是和表单验证元素的name相对应的;
- 如果你不想把验证成功事件w5c-submit写在 form上,可以直接在form里面的其他元素上使用w5cFormSubmit指令,如:
<button type="buttom" w5c-form-submit="vm.saveEntity()" class="btn btn-success"> 验证</button>
- 如果你clone了代码。本地直接打开example/index.html是不可以运行,因为我使用了 $http服务去获取 js css html,所以必须要在本地搭建服务端程序,如果你有nodejs环境,运行
npm install
安装module后再运行grunt server
,如果没有grunt,用命令npm install grunt-cli -g
安装, mac下需要sudo npm install grunt-cli -g
参数
名称 | 默认值 | 作用 |
---|---|---|
blurTrig | false | 光标移除元素后是否验证并显示错误提示信息 |
showError | true | 可以是bool和function,每个元素验证不通过后调用该方法显示错误信息,默认true,显示错误信息在元素的后面。 |
removeError | true | 可以是bool和function,每个元素验证通过后调用该方法移除错误信息,默认true,验证通过后在元素的后面移除错误信息。 |
w5cValidator【AngularJS】 2.0 版本发布的更多相关文章
- 【AngularJS】 2.0 版本发布
[AngularJS] 2.0 版本发布 w5cValidator[AngularJS] 2.0 版本发布 w5cValidator 插件基于angular原有的表单验证,在原有的基础上扩展了一些 ...
- Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持
Spring.Net.FrameworkV3.0 版本发布了,感谢大家的支持. Spring.Net.Framework,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开 ...
- 意料之外,情理之中,Spring.NET 3.0 版本发布-
意料之外,情理之中,Spring.NET 3.0 版本发布- 备受社区和企业开发者广泛关注的Spring.NET在上周发布了3.0版本,并且目前已经保持着持续的更新,让我们一起来看一看他究竟发布了哪些 ...
- Kafka 1.0版本发布
Kafka 1.0版本发布 1.0.0 2017年11月1日发布 源码下载: kafka-1.0.0-src.tgz(asc,sha512) 二进制下载: Scala 2.11 - kafka_2.1 ...
- go-wingui 2018 全新 v2.0 版本发布,包含重大更新!
go-wingui 2018 全新 v2.0 版本发布,包含重大更新!使用新版CEF内核Chromium 63.0.3239.109,页面可以使用最新的css3,html5技术.使用delphi7重写 ...
- JEECG 4.0 版本发布,JAVA快速开发平台
JEECG 4.0 版本发布,系统全面优化升级,更快,更稳定! 导读 ⊙平台性能优化,系统更稳定,速度闪电般提升 ...
- CAP 5.0 版本发布通告
前言 今天,我们很高兴宣布 CAP 发布 5.0 版本正式版.同时我们也很高兴的告诉你 CAP 已经有越来越多的用户并且变得越来越流行. 在 5.0 版本中,我们主要致力于更好的支持 .NET 5 以 ...
- 支持边云协同终身学习特性,KubeEdge子项目Sedna 0.3.0版本发布!
摘要:随着边缘设备数量指数级增长以及设备性能的提升,边云协同机器学习应运而生,以期打通机器学习的最后一公里. 本文分享自华为云社区<支持边云协同终身学习特性,KubeEdge子项目Sedna 0 ...
- 纪念BLives 1.0版本发布
历时两个多月的时间,BLives程序1.0发布,在开发程序期间自己经历了很多,考试,恋爱,学业,自己很纠结 很伤心,有时候很无助,为了让自己有事干,我在考试备考期间去设计程序- -#,虽然程序设计的一 ...
随机推荐
- Linux内核导出符号宏定义EXPORT_SYMBOL源代码分析
资源: <include/linux/moudule.h> --. #ifndef MODULE_SYMBOL_PREFIX #define MODULE_SYMBOL_PREFIX &q ...
- Linux centos 主机名颜色设置 和 别名设置
方便和乐趣写今天.至于为什么主机名颜色设置 和 别名设置放在一起写.这是因为他们的设置是在一个文件中..bashrc. .bashrc放在cd /root 这个文件夹下! 这个文件主要保存个人的一些个 ...
- Flex列在一个表格式的数字值
1.问题背景 一般的.表格中展示的比率.对照率的处理是:保留两位小数,并向上保留 2.实现实例 <? xml version="1.0" encoding="utf ...
- POJ 2352 && HDU 1541 Stars (树状数组)
一開始想,总感觉是DP,但是最后什么都没想到.还暴力的交了一发. 然后開始写线段树,结果超时.感觉自己线段树的写法有问题.改天再写.先把树状数组的写法贴出来吧. ~~~~~~~~~~~~~~~~~~~ ...
- Linux内核和根文件系统引导加载程序
续博文<u-boot之u-boot-2009.11启动过程分析> Linux内核启动及文件系统载入过程 当u-boot開始运行bootcmd命令.就进入Linux内核启动阶段,与u-boo ...
- Nutch之简介与安装
初学Nutch之简介与安装 初学Nutch之简介与安装 1.Nutch简介 Nutch是一个由Java实 现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其 ...
- SpringMVC4 + Spring + MyBatis3
SpringMVC4 + Spring + MyBatis3 本文使用最新版本(4.1.5)的springmvc+spring+mybatis,采用最间的配置方式来进行搭建. 1. web.xml 我 ...
- update值与原值相同时,SQL Server会真的去update还是忽略呢?
原文:update值与原值相同时,SQL Server会真的去update还是忽略呢? 考虑下面的情况: 当update值与原值相同时,SQL Server会真的去update还是忽略?例如: upd ...
- C# mongodb 1
转载C# mongodb 概述 MongoDB是一个高性能,开源,无模式的文档型数据库,使用C++开发.是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他 ...
- 蜗牛—Hibernate之初识配置
下载Hibernate的jar包 把下面jar文件考到项目lib下 然后在myeclipse中打开database的view视图创建一个新的数据库连接 接下来,配置连接,须要导入ORACLE的jar包 ...